Ereignis.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #pragma once
  2. #include <Array.h>
  3. #include "Variablen.h"
  4. class VarPointer;
  5. enum EreignisTyp
  6. {
  7. AUSLOESER_RUNNED, // "Betroffener Auslöser"
  8. BARIERE_SWITCHED,
  9. BARIERE_WIRD_VERSCHOBEN,
  10. BASIS_BESITZERWECHSEL, // "Betroffene Basis", "Vorheriges Team", "Nächstes Team"
  11. GEGENSTAND_ERSCHEINT,
  12. INITIALISIERUNG, //
  13. SCHALTER_AKTIVIERT, // "Betroffener Schalter"
  14. SPIELER_BENUTZT_GEGENSTAND,
  15. SPIELER_KEY_PRESSED, // "Betroffene Taste", "Ausführender Spieler"
  16. SPIELER_BEKOMMT_ERFAHRUNG,
  17. SPIELER_BEKOMMT_GEGENSTAND,
  18. SPIELER_KEY_RELEASED, // "Betroffene Taste", "Ausführender Spieler"
  19. SPIELER_LEVEL_UP,
  20. SPIELER_MACHT_SCHADEN,
  21. SPIELER_NIMMT_SCHADEN,
  22. SPIELER_STIRBT,
  23. SPIELER_WIEDERBELEBT,
  24. SPIELER_WIRD_GEHEILT,
  25. TIMER_RUNNS_OUT, // "Betroffener Timer"
  26. TIMER_BEGINNT, // "Betroffener Timer"
  27. TUNNEL_BENUTZT, // {"Betroffes Geschoss", "Betroffer Spieler"}, "Betroffer Tunnel"
  28. UMLENKUNG_LENKT_UM // "Betroffes Geschoss", "Betroffe Umlenkung"
  29. };
  30. class Ereignis
  31. {
  32. private:
  33. EreignisTyp typ;
  34. RCArray< VarPointer > params;
  35. int ref;
  36. public:
  37. Ereignis( EreignisTyp typ );
  38. ~Ereignis();
  39. EreignisTyp getTyp() const;
  40. void addParameter( const char *name, Variable *var );
  41. VarPointer *getParameter( const char *name ) const;
  42. VarPointer *zParameter( const char *name ) const;
  43. Ereignis *getThis();
  44. Ereignis *release();
  45. };