35 lines
1.2 KiB
C++
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
|