Cogs.Core
ScriptingManager.h
1#pragma once
2
3#include "Context.h"
4
5#include <vector>
6
7#include "Components/Core/ScriptComponent.h"
8
9#include "ScriptingEngine.h"
10
11namespace Cogs
12{
13 namespace Core
14 {
16 {
17 public:
18 ScriptingManager(Context * context);
19
20 void initialize();
21 void cleanup();
22
23 void addScriptingEngine(std::unique_ptr<ScriptingEngine> jsEngine);
24
25 ScriptContextHandle createContext(Cogs::ComponentModel::Entity * entity, const StringView & source, ScriptFlags flags);
26
27 std::vector<std::unique_ptr<ScriptingEngine>> engines;
28 };
29 }
30}
Container for components, providing composition of dynamic entities.
Definition: Entity.h:18
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition: Context.h:83
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24
Contains all Cogs related functionality.
Definition: FieldSetter.h:23