#pragma once #include "DeerCore/Tools/Memory.h" #include "DeerCore/Tools/TypeDefs.h" #include "angelscript.h" #include #include class asIScriptEngine; namespace Deer { class ScriptEnvironment; namespace ScriptSystem { void init(); void shutdown(); asIScriptEngine* getScriptEngine(); Scope createScriptEnvironment(const char* baseDataType); } // namespace ScriptSystem class EnvironmentSystems { }; class ScriptInstance { } class EnvironmentInstances { }; class ScriptEnvironment { public: private: asIScriptContext* context; std::string baseTypeName; asITypeInfo* baseType; ScriptEnvironment(asITypeInfo*); friend Scope Deer::ScriptSystem::createScriptEnvironment(const char* baseDataType); }; } // namespace Deer