Ereignis.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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, // "Betroffene Bariere"
  9. BARIERE_WIRD_VERSCHOBEN, // "Betroffene Bariere", "Status"
  10. BASIS_BESITZERWECHSEL, // "Betroffene Basis", "Vorheriges Team", "Nächstes Team"
  11. DROP_AKTION, // "Betroffener Drop"
  12. GEGENSTAND_DROPED, // "Betroffener Gegenstand"
  13. INITIALISIERUNG, //
  14. SCHALTER_AKTIVIERT, // "Betroffener Schalter"
  15. SPIELER_BENUTZT_GEGENSTAND, // "Betroffener Spieler", "Betroffener Gegenstand"
  16. SPIELER_KEY_PRESSED, // "Betroffene Taste", "Ausführender Spieler"
  17. SPIELER_BEKOMMT_ERFAHRUNG, // "Betroffer Spieler", "Wert"
  18. SPIELER_BEKOMMT_GEGENSTAND, // "Betroffener Spieler", "Betroffener Gegenstand", "Anzahl"
  19. SPIELER_KEY_RELEASED, // "Betroffene Taste", "Ausführender Spieler"
  20. SPIELER_LEVEL_UP, // "Betroffer Spieler"
  21. SPIELER_MACHT_SCHADEN, // "Betroffer Spieler", "Wert"
  22. SPIELER_NIMMT_SCHADEN, // "Betroffer Spieler", "Wert"
  23. SPIELER_STIRBT, // "Betroffer Spieler"
  24. SPIELER_WIEDERBELEBT, // "Betroffer Spieler"
  25. SPIELER_WIRD_GEHEILT, // "Betroffer Spieler", "Wert"
  26. TIMER_RUNNS_OUT, // "Betroffener Timer"
  27. TIMER_BEGINNT, // "Betroffener Timer"
  28. TUNNEL_BENUTZT, // {"Betroffes Geschoss", "Betroffer Spieler"}, "Betroffer Tunnel"
  29. UMLENKUNG_LENKT_UM // "Betroffes Geschoss", "Betroffe Umlenkung"
  30. };
  31. class Ereignis
  32. {
  33. private:
  34. EreignisTyp typ;
  35. RCArray< VarPointer > params;
  36. int ref;
  37. public:
  38. Ereignis( EreignisTyp typ );
  39. ~Ereignis();
  40. EreignisTyp getTyp() const;
  41. void addParameter( const char *name, Variable *var );
  42. Variable *getParameter( const char *name ) const;
  43. Variable *zParameter( const char *name ) const;
  44. Ereignis *getThis();
  45. Ereignis *release();
  46. };