Added ScriptBuilder that gives us access to conditional compilation and metadata attributes.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -49,7 +49,8 @@ void AngelScripResolver::Initialize(CreatureLib::Battling::BattleLibrary* arg) {
|
||||
throw CreatureException("Registering print function failed.");
|
||||
RegisterScriptHandle(_engine);
|
||||
|
||||
_mainModule = _engine->GetModule("pkmn", asGM_ALWAYS_CREATE);
|
||||
_builder.StartNewModule(_engine, "pkmn");
|
||||
_mainModule = _builder.GetModule();
|
||||
|
||||
RegisterTypes();
|
||||
RegisterExceptionRoutines(_engine);
|
||||
@@ -131,10 +132,10 @@ CreatureLib::Battling::Script* AngelScripResolver::LoadScript(ScriptCategory cat
|
||||
return new AngelScriptScript(scriptName, typeInfo, obj, _contextPool);
|
||||
}
|
||||
void AngelScripResolver::FinalizeModule() {
|
||||
int r = _mainModule->Build();
|
||||
int r = _builder.BuildModule();
|
||||
if (r < 0)
|
||||
throw CreatureException("Building Script Module failed.");
|
||||
}
|
||||
void AngelScripResolver::CreateScript(const char* name, const char* script) {
|
||||
_mainModule->AddScriptSection(name, script);
|
||||
_builder.AddSectionFromMemory(name, script);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <CreatureLib/Battling/ScriptHandling/ScriptResolver.hpp>
|
||||
#include "../../Battling/Library/BattleLibrary.hpp"
|
||||
#include "../../../extern/angelscript_addons/scriptbuilder/scriptbuilder.h"
|
||||
|
||||
#define ANGELSCRIPT_DLL_LIBRARY_IMPORT
|
||||
#include <angelscript.h>
|
||||
@@ -15,6 +16,7 @@ private:
|
||||
asIScriptEngine* _engine = nullptr;
|
||||
asIScriptModule* _mainModule = nullptr;
|
||||
ContextPool* _contextPool = nullptr;
|
||||
CScriptBuilder _builder;
|
||||
std::unordered_map<std::string, AngelScriptTypeInfo*> _types;
|
||||
|
||||
static void MessageCallback(const asSMessageInfo* msg, void* param);
|
||||
|
||||
Reference in New Issue
Block a user