#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, // "Betroffener Spieler", "Betroffener Gegenstand" SPIELER_KEY_PRESSED, // "Betroffene Taste", "Ausführender Spieler" SPIELER_BEKOMMT_ERFAHRUNG, // "Betroffer Spieler", "Wert" SPIELER_BEKOMMT_GEGENSTAND, // "Betroffener Spieler", "Betroffener Gegenstand", "Anzahl" SPIELER_KEY_RELEASED, // "Betroffene Taste", "Ausführender Spieler" SPIELER_LEVEL_UP, // "Betroffer Spieler" SPIELER_MACHT_SCHADEN, // "Betroffer Spieler", "Wert" SPIELER_NIMMT_SCHADEN, // "Betroffer Spieler", "Wert" SPIELER_STIRBT, // "Betroffer Spieler" SPIELER_WIEDERBELEBT, // "Betroffer Spieler" SPIELER_WIRD_GEHEILT, // "Betroffer Spieler", "Wert" 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 ); Variable *getParameter( const char *name ) const; Variable *zParameter( const char *name ) const; Ereignis *getThis(); Ereignis *release(); };