#pragma once #include #include "Variablen.h" class VarPointer; enum EreignisTyp { AUSLOESER_RUNNED, // "Betroffener Auslöser" BARIERE_SWITCHED, // "Betroffene Bariere" BARIERE_WIRD_VERSCHOBEN, // "Betroffene Bariere", "Status" BASIS_BESITZERWECHSEL, // "Betroffene Basis", "Vorheriges Team", "Nächstes Team" DROP_AKTION, // "Betroffener Drop" GEGENSTAND_DROPED, // "Betroffener Gegenstand" INITIALISIERUNG, // SCHALTER_AKTIVIERT, // "Betroffener Schalter" SPIELER_BENUTZT_GEGENSTAND, SPIELER_KEY_PRESSED, // "Betroffene Taste", "Ausführender Spieler" SPIELER_BEKOMMT_ERFAHRUNG, SPIELER_BEKOMMT_GEGENSTAND, SPIELER_KEY_RELEASED, // "Betroffene Taste", "Ausführender Spieler" SPIELER_LEVEL_UP, SPIELER_MACHT_SCHADEN, SPIELER_NIMMT_SCHADEN, SPIELER_STIRBT, SPIELER_WIEDERBELEBT, SPIELER_WIRD_GEHEILT, TIMER_RUNNS_OUT, // "Betroffener Timer" TIMER_BEGINNT, // "Betroffener Timer" TUNNEL_BENUTZT, // {"Betroffes Geschoss", "Betroffer Spieler"}, "Betroffer Tunnel" UMLENKUNG_LENKT_UM // "Betroffes Geschoss", "Betroffe Umlenkung" }; class Ereignis { private: EreignisTyp typ; RCArray< VarPointer > params; int ref; public: Ereignis( EreignisTyp typ ); ~Ereignis(); EreignisTyp getTyp() const; void addParameter( const char *name, Variable *var ); VarPointer *getParameter( const char *name ) const; VarPointer *zParameter( const char *name ) const; Ereignis *getThis(); Ereignis *release(); };