DeerEngine/Deer/Include/Deer/ScriptEngine.h
2025-05-15 19:37:34 +02:00

36 lines
861 B
C++

#pragma once
#include <stdint.h>
#include <string>
class asITypeInfo;
class asIScriptObject;
class asIScriptFunction;
namespace Deer {
namespace ScriptEngine {
struct ComponentScript {
public:
ComponentScript(asITypeInfo* type);
void initialize();
void tick();
private:
asITypeInfo* scriptType;
asIScriptFunction* startFunction;
asIScriptFunction* updateFunction;
};
void loadScripts();
void unloadScripts();
void initializeExecution();
void tickExecution();
void endExecution();
void clearComponentScripts();
ComponentScript& getComponentScript(uint16_t);
ComponentScript& createComponentScript(const std::string& scriptName);
void destroyComponentScript(uint16_t);
}
}