mirror of
https://github.com/antopilo/Nuake.git
synced 2026-01-06 06:09:52 +03:00
Succesfully initialized .Net Core assembly + updated premake5
This commit is contained in:
@@ -3,7 +3,11 @@
|
|||||||
#include "src/Scene/Scene.h"
|
#include "src/Scene/Scene.h"
|
||||||
#include "Engine.h"
|
#include "Engine.h"
|
||||||
|
|
||||||
namespace Nuake {
|
#include "src/Scripting/ScriptingEngineNet.h"
|
||||||
|
|
||||||
|
|
||||||
|
namespace Nuake
|
||||||
|
{
|
||||||
ScriptingSystem::ScriptingSystem(Scene* scene)
|
ScriptingSystem::ScriptingSystem(Scene* scene)
|
||||||
{
|
{
|
||||||
m_Scene = scene;
|
m_Scene = scene;
|
||||||
@@ -13,6 +17,8 @@ namespace Nuake {
|
|||||||
{
|
{
|
||||||
ScriptingEngine::Init();
|
ScriptingEngine::Init();
|
||||||
|
|
||||||
|
ScriptingEngineNet::Get().Initialize();
|
||||||
|
|
||||||
Logger::Log("Initializing ScriptingSystem");
|
Logger::Log("Initializing ScriptingSystem");
|
||||||
|
|
||||||
auto entities = m_Scene->m_Registry.view<WrenScriptComponent>();
|
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/wren/src/include",
|
||||||
"%{prj.name}/src/Vendors/incbin",
|
"%{prj.name}/src/Vendors/incbin",
|
||||||
"%{prj.name}/dependencies/build",
|
"%{prj.name}/dependencies/build",
|
||||||
"%{prj.name}/dependencies/soloud/include"
|
"%{prj.name}/dependencies/soloud/include",
|
||||||
|
"%{prj.name}/dependencies/Coral/Coral.Native/Include"
|
||||||
}
|
}
|
||||||
|
|
||||||
links
|
links
|
||||||
@@ -286,7 +287,7 @@ project "Editor"
|
|||||||
"%{prj.name}/../Nuake/dependencies/JoltPhysics",
|
"%{prj.name}/../Nuake/dependencies/JoltPhysics",
|
||||||
"%{prj.name}/../Nuake/dependencies/build",
|
"%{prj.name}/../Nuake/dependencies/build",
|
||||||
"%{prj.name}/../Nuake/dependencies/soloud/include",
|
"%{prj.name}/../Nuake/dependencies/soloud/include",
|
||||||
"/usr/include/gtk-3.0/"
|
"/usr/include/gtk-3.0/",
|
||||||
}
|
}
|
||||||
|
|
||||||
libdirs
|
libdirs
|
||||||
@@ -338,7 +339,8 @@ project "Editor"
|
|||||||
postbuildcommands {
|
postbuildcommands {
|
||||||
'{ECHO} Copying "%{wks.location}/NetCore/7.0.7/nethost.dll" to "%{cfg.targetdir}"',
|
'{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/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