1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #pragma once
- #include "../MapObjekt.h"
- class GameObjekt : public MapObjekt2D
- {
- private:
- struct GameObjectData
- {
- int id;
- int m2d;
- int bild;
- int style;
- int maxStability;
- int maxEnergie;
- int energieRadius;
- double reparatur;
- double akkuLeistung;
- char team;
- };
- GameObjectData data;
- protected:
- // Wird aufgerufen, wenn das Objekt durch den Nutzer verschoben wird
- virtual void onMoved() override;
- // Wird aufgerufen, wenn der Nutzer das Optionsfenster des Objekts aufrufen will
- virtual void onOpenOptionWindow() override;
- public:
- // Konstruktor
- // klient: Der Klient zum Editor Server
- GameObjekt( EditorKlient *klient );
- // Destructor
- ~GameObjekt();
- // Verarbeitet ein Maus Ereignis
- // me: Das Maus Ereignis
- void doMausEreignis( MausEreignis me ) override;
- // Verarbeitet ein Tastatur Ereignis
- // te: Das Tastaturereignis
- void doTastaturEreignis( TastaturEreignis te ) override;
- // Verarbeitet die vergangene Zeit
- // tv: Die vergangene Zeit in Sekunden seit dem letzten Aufruf der Funktion
- // return: 1, falls das objekt neu gezeichnet werden muss. 0 sonnst
- bool tick( double tv ) override;
- // Erhöht den reference Counter um 1
- // return this
- virtual MapObjekt *getThis() override;
- // Verringert den reference Counter um 1 und löscht das Objekt wenn er bei 0 ankommt
- // return 0
- virtual MapObjekt *release() override;
- };
|