#pragma once #include #include "Variablen.h" class VarPointer; enum EreignisTyp { AUSLOESER_RUNNED, BARIERE_SWITCHED, BARIERE_WIRD_VERSCHOBEN, BASIS_BESITZERWECHSEL, GEGENSTAND_ERSCHEINT, INITIALISIERUNG, SCHALTER_AKTIVIERT, SPIELER_BENUTZT_GEGENSTAND, SPIELER_KEY_PRESSED, SPIELER_BEKOMMT_ERFAHRUNG, SPIELER_BEKOMMT_GEGENSTAND, SPIELER_KEY_RELEASED, SPIELER_LEVEL_UP, SPIELER_MACHT_SCHADEN, SPIELER_NIMMT_SCHADEN, SPIELER_STIRBT, SPIELER_WIEDERBELEBT, SPIELER_WIRD_GEHEILT, TIMER_RUNNS_OUT, TIMER_BEGINNT, TUNNEL_BENUTZT, UMLENKUNG_LENKT_UM }; 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(); };