KSGScriptObj.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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 zurücksetzen() override;
  52. virtual void setRückrufParam( void *p ) override;
  53. virtual void setRückrufFunktion( 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( char *pf ) override;
  64. virtual void setLog( TextFeld *log ) override;
  65. virtual void logNachricht( char *n ) override;
  66. // constant
  67. virtual KSGSVariable *rückruf( 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. // Reference Counting
  79. virtual Zeichnung *getThis() override;
  80. virtual Zeichnung *release() override;
  81. };
  82. }