#pragma once #include "BsScriptEnginePrerequisites.h" #include "CmModule.h" #include namespace BansheeEngine { class BS_SCR_BE_EXPORT ScriptGameObjectManager : public Module { public: ScriptGameObjectManager(); ScriptComponent* createScriptComponent(const GameObjectHandle& component); ScriptSceneObject* createScriptSceneObject(const HSceneObject& sceneObject); ScriptSceneObject* createScriptSceneObject(MonoObject* existingInstance, const HSceneObject& sceneObject); ScriptComponent* getScriptComponent(const GameObjectHandle& component); ScriptSceneObject* getScriptSceneObject(const HSceneObject& sceneObject); void destroyScriptGameObject(ScriptGameObject* gameObject); private: UnorderedMap::type mScriptGameObjects; MonoClass* mSceneObjectClass; }; }