#include "Karte.h" #include #include #include "..\Kamera\Kamera.h" // Inhalt der Karte Klasse aus Karte.h // Konstruktor Karte::Karte() { karteId = 0; map = new Bild(); rahmen = new LRahmen(); rahmen->setFarbe( 0xFFFFFFFF ); rahmen->setRamenBreite( 2 ); ref = 1; } // Destruktor Karte::~Karte() { map->release(); rahmen->release(); } // nicht constant void Karte::setSize( int br, int hö ) { map->neuBild( br, hö, 0xFF000000 ); rahmen->setSize( br, hö ); } void Karte::setId( int id ) { karteId = id; } void Karte::render( Kamera *zKam, Bild &zRObj ) { rahmen->setPosition( zKam->getRX( 0 ), zKam->getRY( 0 ) ); zRObj.drawBild( rahmen->getX(), rahmen->getY(), map->getBreite(), map->getHeight(), *map ); rahmen->render( zRObj ); } // constant int Karte::getId() const { return karteId; } int Karte::getBreite() const { return map->getBreite(); } int Karte::getHeight() const { return map->getHeight(); } Bild *Karte::zMap() const { return ( map->getBreite() != 0 && map->getHeight() != 0 ) ? map : 0; } // Reference Counting Karte *Karte::getThis() { ref++; return this; } Karte *Karte::release() { ref--; if( !ref ) delete this; return 0; }