Succesfully initialized .Net Core assembly + updated premake5

This commit is contained in:
Antoine Pilote
2023-10-12 23:39:10 -04:00
parent 868d019c35
commit aa18283815
5 changed files with 69 additions and 4 deletions

View File

@@ -3,7 +3,11 @@
#include "src/Scene/Scene.h"
#include "Engine.h"
namespace Nuake {
#include "src/Scripting/ScriptingEngineNet.h"
namespace Nuake
{
ScriptingSystem::ScriptingSystem(Scene* scene)
{
m_Scene = scene;
@@ -13,6 +17,8 @@ namespace Nuake {
{
ScriptingEngine::Init();
ScriptingEngineNet::Get().Initialize();
Logger::Log("Initializing ScriptingSystem");
auto entities = m_Scene->m_Registry.view<WrenScriptComponent>();

View File

@@ -0,0 +1,40 @@
#include "ScriptingEngineNet.h"
#include "src/Core/Logger.h"
#include "src/Core/FileSystem.h"
#include <Coral/HostInstance.hpp>
#include <Coral/GC.hpp>
#include <Coral/NativeArray.hpp>
#include <Coral/Attribute.hpp>
void ExceptionCallback(std::string_view InMessage)
{
const std::string message = std::string("Unhandled native exception: ") + std::string(InMessage);
Nuake::Logger::Log(message, ".net", Nuake::CRITICAL);
}
namespace Nuake
{
ScriptingEngineNet& ScriptingEngineNet::Get()
{
static ScriptingEngineNet instance;
return instance;
}
void ScriptingEngineNet::Initialize()
{
auto coralDir = "";
Coral::HostSettings settings =
{
.CoralDirectory = coralDir,
.ExceptionCallback = ExceptionCallback
};
Coral::HostInstance hostInstance;
hostInstance.Initialize(settings);
auto loadContext = hostInstance.CreateAssemblyLoadContext("NuakeEngineContext");
}
}

View File

@@ -0,0 +1,17 @@
#pragma once
namespace Nuake
{
class ScriptingEngineNet
{
private:
ScriptingEngineNet() = default;
~ScriptingEngineNet() = default;
public:
static ScriptingEngineNet& Get();
void Initialize();
};
}

Binary file not shown.

View File

@@ -86,7 +86,8 @@ project "Nuake"
"%{prj.name}/src/Vendors/wren/src/include",
"%{prj.name}/src/Vendors/incbin",
"%{prj.name}/dependencies/build",
"%{prj.name}/dependencies/soloud/include"
"%{prj.name}/dependencies/soloud/include",
"%{prj.name}/dependencies/Coral/Coral.Native/Include"
}
links
@@ -286,7 +287,7 @@ project "Editor"
"%{prj.name}/../Nuake/dependencies/JoltPhysics",
"%{prj.name}/../Nuake/dependencies/build",
"%{prj.name}/../Nuake/dependencies/soloud/include",
"/usr/include/gtk-3.0/"
"/usr/include/gtk-3.0/",
}
libdirs
@@ -338,7 +339,8 @@ project "Editor"
postbuildcommands {
'{ECHO} Copying "%{wks.location}/NetCore/7.0.7/nethost.dll" to "%{cfg.targetdir}"',
'{COPYFILE} "%{wks.location}/Nuake/dependencies/Coral/NetCore/7.0.7/nethost.dll" "%{cfg.targetdir}"',
'{COPYFILE} "%{wks.location}/Nuake/dependencies/Coral/Coral.Managed/Coral.Managed.runtimeconfig.json" "%{cfg.targetdir}"',
'{COPYFILE} "%{wks.location}/Nuake/dependencies/Coral/Coral.Managed/Coral.Managed.runtimeconfig.json" "%{wks.location}/%{prj.name}"',
'{COPYFILE} "%{wks.location}/Nuake/dependencies/Coral/Coral.Managed/Build/%{cfg.buildcfg}-%{cfg.system}/Coral.Managed.dll" "%{wks.location}/%{prj.name}"'
}