KSGScriptObj.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #pragma once
  2. #include <Zeichnung.h>
  3. #include <Text.h>
  4. #include <Array.h>
  5. #include <Schrift.h>
  6. #include <TextFeld.h>
  7. #include "../Include/KSGScript.h"
  8. using namespace Framework;
  9. namespace KSGScript
  10. {
  11. class KSGSFunktion; // ../Befehl/KSGSFunktion.h
  12. class KSGSFunktionInstanz; // ../Befehl/KSGSFunktion.h
  13. class KSGSKlasse; // ../Befehl/KSGSKlasse.h
  14. class KSGSKlasseInstanz; // ../Befehl/KSGSKlasse.h
  15. class KSGScriptO : public KSGScriptObj
  16. {
  17. private:
  18. Text* pfad;
  19. Text* wd;
  20. void* rParam;
  21. void(*rFunktion)(void*, RCArray< KSGSVariable >*, KSGSVariable**);
  22. RCArray< KSGSVariable >* variablen;
  23. RCArray< KSGSFunktion >* funktionen;
  24. RCArray< KSGSKlasse >* klassen;
  25. Schrift* schrift;
  26. Bildschirm* screen;
  27. RCArray< KSGSVariable >* mausP;
  28. RCArray< KSGSVariable >* tastaturP;
  29. RCArray< KSGSVariable >* tickP;
  30. RCArray< KSGSVariable >* renderP;
  31. TextFeld* log;
  32. int mainId;
  33. int mausId;
  34. int tastaturId;
  35. int tickId;
  36. int renderId;
  37. int geladen;
  38. int scrId;
  39. Critical cs;
  40. public:
  41. // Konstruktor
  42. __declspec(dllexport) KSGScriptO();
  43. // Destruktor
  44. __declspec(dllexport) ~KSGScriptO();
  45. // nicht constant
  46. virtual void lock() override;
  47. virtual void unlock() override;
  48. virtual void setScriptDatei(const char* pfad) override;
  49. virtual void setScriptDatei(Text* pfad) override;
  50. virtual bool neuLaden() override;
  51. virtual void reset() override;
  52. virtual void setCallbackParam(void* p) override;
  53. virtual void setCallbackFunktion(void(*funktion)(void*, RCArray< KSGSVariable >*, KSGSVariable**)) override;
  54. virtual void setSchriftZ(Schrift* s) override;
  55. virtual void setBildschirmZ(Bildschirm* s) override;
  56. virtual void doPublicMausEreignis(MausEreignis& me) override;
  57. virtual void doTastaturEreignis(TastaturEreignis& te) override;
  58. virtual bool tick(double zeit) override;
  59. virtual void render(Bild& zRObj) override;
  60. virtual KSGSVariable* startFunktion(int id, RCArray< KSGSVariable >* parameter) override;
  61. virtual KSGSVariable* erstellKlassenInstanz(int id) override;
  62. virtual void setVariable(int id, KSGSVariable* var) override;
  63. virtual Text* convertPfad(const char* pf) override;
  64. virtual void setLog(TextFeld* log) override;
  65. virtual void logNachricht(const char* n) override;
  66. // constant
  67. virtual KSGSVariable* callback(RCArray< KSGSVariable >* parameter) const override;
  68. virtual Text* getScriptDateiPfad() const override;
  69. virtual Text* zScriptDateiPfad() const override;
  70. virtual Schrift* getSchrift() const override;
  71. virtual Schrift* zSchrift() const override;
  72. virtual Bildschirm* getBildschirm() const override;
  73. virtual Bildschirm* zBildschirm() const override;
  74. virtual int getScriptId() const override;
  75. virtual bool istBeendet(int scrId) const override;
  76. virtual int getFunktionId(const char* name) const override;
  77. virtual KSGSVariable* getVariable(int id) const override;
  78. };
  79. }