feat: class instances for entity scripts
CI / build-and-test (push) Successful in 2m9s

This commit is contained in:
2026-03-09 12:55:55 +13:00
parent 9ebf77daec
commit cd754fda28
8 changed files with 348 additions and 149 deletions
+8
View File
@@ -30,6 +30,14 @@ public:
asIScriptFunction* GetInitFunction() const { return initFunc; }
asIScriptFunction* GetShutdownFunction() const { return shutdownFunc; }
// Create and release script object instances for entity scripts
asIScriptObject* CreateObjectInstance(asIScriptModule* module, const std::string& className);
void ReleaseObjectInstance(asIScriptObject* obj);
// Retrieve an object's method by declaration (e.g. "void Update(uint, float)")
asIScriptFunction* GetObjectMethod(asIScriptModule* module, const std::string& className, const std::string& methodDecl);
// Call an object method; method must be an object method (use GetObjectMethod)
void CallObjectMethod(asIScriptFunction* method, asIScriptObject* object, unsigned int entityId, float dt);
private:
asIScriptEngine* engine;
asIScriptFunction* updateFunc;