DeerEngine/Deer/Include/DeerCore/ScriptSystem.h

41 lines
815 B
C++

#pragma once
#include "DeerCore/Tools/Memory.h"
#include "DeerCore/Tools/TypeDefs.h"
#include "angelscript.h"
#include <string>
#include <vector>
class asIScriptEngine;
namespace Deer {
class ScriptEnvironment;
namespace ScriptSystem {
void init();
void shutdown();
asIScriptEngine* getScriptEngine();
Scope<ScriptEnvironment> 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<ScriptEnvironment> Deer::ScriptSystem::createScriptEnvironment(const char* baseDataType);
};
} // namespace Deer