#include "BsScriptSceneGizmos.h" #include "BsScriptCamera.h" #include "BsGizmoManager.h" namespace BansheeEngine { ScriptSceneGizmos::ScriptSceneGizmos(MonoObject* object, const SPtr& camera) :ScriptObject(object), mCamera(camera) { } ScriptSceneGizmos::~ScriptSceneGizmos() { if (GizmoManager::isStarted()) // If not active, we don't care GizmoManager::instance().clearRenderData(); } void ScriptSceneGizmos::initRuntimeData() { metaData.scriptClass->addInternalCall("Internal_Create", &ScriptSceneGizmos::internal_Create); metaData.scriptClass->addInternalCall("Internal_Draw", &ScriptSceneGizmos::internal_Draw); } void ScriptSceneGizmos::internal_Create(MonoObject* managedInstance, ScriptCamera* camera) { new (bs_alloc()) ScriptSceneGizmos(managedInstance, camera->getInternal()); } void ScriptSceneGizmos::internal_Draw(ScriptSceneGizmos* thisPtr) { GizmoManager::instance().update(thisPtr->mCamera); } }