#include "Interface.h" #include "../../Initialisierung/Initialisierung.h" #include "RightTools\SpielerOptionen\SpielerOptionen.h" #include "RightTools\TeamOptionen\TeamOptionen.h" #include "RightTools/ObjektOptionen/ObjektOptionen.h" #include using namespace Editor; // Inhalt der Interface Klasse aus Interface.h // Konstruktor // zS: Ein Zeiger auf die zu verwendende Schrift Interface::Interface( UIInit &uiFactory, Punkt maxSize ) : ReferenceCounter() { beenden = initKnopf( 10, 10, 100, 20, uiFactory, Knopf::Style::Normal, "beenden" ); right = new RightTools( uiFactory, maxSize ); verlassen = 0; this->uiFactory = uiFactory; daten = 0; } // Destruktor Interface::~Interface() { if( daten ) daten->release(); beenden->release(); right->release(); } void Interface::setDaten( KarteDaten *daten ) { if( this->daten ) this->daten->release(); this->daten = daten; right->addTool( new SpielerTool( uiFactory, dynamic_cast( daten->getThis() ) ), "Spieler" ); right->addTool( new TeamTool( uiFactory, dynamic_cast( daten->getThis() ) ), "Teams" ); right->addTool( new ObjektTool( uiFactory, dynamic_cast( daten->getThis() ) ), "Objekte" ); } // Verarbeitet eine Mausnachricht // me: Die Nachricht die verarbeitet werden soll void Interface::doPublicMausEreignis( MausEreignis &me ) { bool vera = me.verarbeitet; beenden->doPublicMausEreignis( me ); if( me.verarbeitet && !vera && me.id == ME_RLinks ) { verlassen = 1; } right->doPublicMausEreignis( me ); } // Verarbeitet eine Tastaturnachricht // te: Die Nachricht die verarbeitet werden soll void Interface::doTastaturEreignis( TastaturEreignis &te ) { right->doTastaturEreignis( te ); } bool Interface::tick( double time ) { rend |= beenden->tick( time ); rend |= right->tick( time ); return __super::tick( time ); } // Zeichnet das Interface nach uRObj // zRObj: Das Bild in das gezeichnet werden soll void Interface::render( Bild &zRObj ) { beenden->render( zRObj ); right->render( zRObj ); } // Setzt das Interface in den Initialisierungszustand zurück void Interface::reset() { verlassen = 0; } // Gibt zurück, ob der Benutzer den Editor verlassen möchte bool Interface::hatVerlassen() const { return verlassen; }