Files
Nuake/NuakeEditor/Source/Editor/ScriptingContext/ScriptingContext.h
2025-01-30 22:41:17 -05:00

34 lines
755 B
C++

#pragma once
#include "Nuake/Scripting/NetModules/NetAPIModule.h"
namespace Coral
{
class HostInstance;
class AssemblyLoadContext;
class ManagedAssembly;
}
#include "Nuake/Scripting/ScriptingEngineNet.h"
class ScriptingContext
{
private:
Coral::HostInstance* hostInstance;
Coral::AssemblyLoadContext loadContext;
std::unordered_map<std::string, Coral::AssemblyLoadContext*> loadedAssemblies;
std::vector<Ref<Nuake::NetAPIModule>> modules;
Coral::ManagedAssembly nuakeAssembly; // Nuake DLL
Coral::ManagedAssembly m_EditorAssembly; // Editor DLL
public:
static ScriptingContext& Get()
{
static ScriptingContext instance;
return instance;
}
void Initialize();
void PushCommand(const std::string& command, const std::string& arg);
};