#pragma once #include #include #include #include #include #include "../Include/KSGScript.h" using namespace Framework; namespace KSGScript { class KSGSFunktion; // ../Befehl/KSGSFunktion.h class KSGSFunktionInstanz; // ../Befehl/KSGSFunktion.h class KSGSKlasse; // ../Befehl/KSGSKlasse.h class KSGSKlasseInstanz; // ../Befehl/KSGSKlasse.h class KSGScriptO : public KSGScriptObj { private: Text *pfad; Text *wd; void *rParam; void( *rFunktion )( void *, RCArray< KSGSVariable > *, KSGSVariable ** ); RCArray< KSGSVariable > *variablen; RCArray< KSGSFunktion > *funktionen; RCArray< KSGSKlasse > *klassen; Schrift *schrift; Bildschirm *screen; RCArray< KSGSVariable > *mausP; RCArray< KSGSVariable > *tastaturP; RCArray< KSGSVariable > *tickP; RCArray< KSGSVariable > *renderP; TextFeld *log; int mainId; int mausId; int tastaturId; int tickId; int renderId; int geladen; int scrId; Critical cs; public: // Konstruktor __declspec( dllexport ) KSGScriptO(); // Destruktor __declspec( dllexport ) ~KSGScriptO(); // nicht constant virtual void lock() override; virtual void unlock() override; virtual void setScriptDatei( const char *pfad ) override; virtual void setScriptDatei( Text *pfad ) override; virtual bool neuLaden() override; virtual void reset() override; virtual void setCallbackParam( void *p ) override; virtual void setCallbackFunktion( void( *funktion )( void *, RCArray< KSGSVariable > *, KSGSVariable ** ) ) override; virtual void setSchriftZ( Schrift *s ) override; virtual void setBildschirmZ( Bildschirm *s ) override; virtual void doPublicMausEreignis( MausEreignis &me ) override; virtual void doTastaturEreignis( TastaturEreignis &te ) override; virtual bool tick( double zeit ) override; virtual void render( Bild &zRObj ) override; virtual KSGSVariable *startFunktion( int id, RCArray< KSGSVariable > *parameter ) override; virtual KSGSVariable *erstellKlassenInstanz( int id ) override; virtual void setVariable( int id, KSGSVariable *var ) override; virtual Text *convertPfad( char *pf ) override; virtual void setLog( TextFeld *log ) override; virtual void logNachricht( char *n ) override; // constant virtual KSGSVariable *callback( RCArray< KSGSVariable > *parameter ) const override; virtual Text *getScriptDateiPfad() const override; virtual Text *zScriptDateiPfad() const override; virtual Schrift *getSchrift() const override; virtual Schrift *zSchrift() const override; virtual Bildschirm *getBildschirm() const override; virtual Bildschirm *zBildschirm() const override; virtual int getScriptId() const override; virtual bool istBeendet( int scrId ) const override; virtual int getFunktionId( const char *name ) const override; virtual KSGSVariable *getVariable( int id ) const override; }; }