35 lines
1.2 KiB
C++

#include "DeerCore/Scripting.h"
#include "DeerCore/Scripting/Helpers.h"
#include "DeerCore/Scripting/InternalAPI/Engine.h"
#include "angelscript.h"
namespace Deer {
namespace Scripting {
extern asIScriptEngine* scriptEngine;
void registerEngine();
void registerEngineFunctions();
void registerEngineStructs();
} // namespace Scripting
void Scripting::registerEngineFunctions() {
REGISTER_GLOBAL_FUNC(scriptEngine, "string getParent(const string&in path)", getParentPath);
REGISTER_GLOBAL_FUNC(scriptEngine, "string getParentName(const string&in path)", getParentPathName);
REGISTER_GLOBAL_FUNC(scriptEngine, "string getName(const string&in path)", getPathName);
REGISTER_GLOBAL_FUNC(scriptEngine, "array<string>@ divide(const string&in path)", dividePath_angelscript);
}
void Scripting::registerEngineStructs() {
AS_CHECK(scriptEngine->RegisterFuncdef("void SimpleFunction()"));
AS_CHECK(scriptEngine->RegisterFuncdef("void ReciverFunction(any@)"));
AS_CHECK(scriptEngine->RegisterFuncdef("void TransferFunction(any@, any@)"));
}
void Scripting::registerEngine() {
registerEngineStructs();
scriptEngine->SetDefaultNamespace("Path");
registerEngineFunctions();
scriptEngine->SetDefaultNamespace("");
}
} // namespace Deer