Succesfully initialized .Net Core assembly + updated premake5
This commit is contained in:
@@ -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>();
|
||||
|
||||
40
Nuake/src/Scripting/ScriptingEngineNet.cpp
Normal file
40
Nuake/src/Scripting/ScriptingEngineNet.cpp
Normal 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");
|
||||
}
|
||||
}
|
||||
17
Nuake/src/Scripting/ScriptingEngineNet.h
Normal file
17
Nuake/src/Scripting/ScriptingEngineNet.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
|
||||
namespace Nuake
|
||||
{
|
||||
class ScriptingEngineNet
|
||||
{
|
||||
private:
|
||||
ScriptingEngineNet() = default;
|
||||
~ScriptingEngineNet() = default;
|
||||
|
||||
public:
|
||||
static ScriptingEngineNet& Get();
|
||||
|
||||
void Initialize();
|
||||
};
|
||||
}
|
||||
BIN
premake5.exe
BIN
premake5.exe
Binary file not shown.
@@ -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}"'
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user