BsScriptSceneGizmos.cpp 1007 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "BsScriptSceneGizmos.h"
  2. #include "BsScriptCamera.h"
  3. #include "BsGizmoManager.h"
  4. namespace BansheeEngine
  5. {
  6. ScriptSceneGizmos::ScriptSceneGizmos(MonoObject* object, const SPtr<Camera>& camera)
  7. :ScriptObject(object), mCamera(camera)
  8. {
  9. }
  10. ScriptSceneGizmos::~ScriptSceneGizmos()
  11. {
  12. if (GizmoManager::isStarted()) // If not active, we don't care
  13. GizmoManager::instance().clearRenderData();
  14. }
  15. void ScriptSceneGizmos::initRuntimeData()
  16. {
  17. metaData.scriptClass->addInternalCall("Internal_Create", &ScriptSceneGizmos::internal_Create);
  18. metaData.scriptClass->addInternalCall("Internal_Draw", &ScriptSceneGizmos::internal_Draw);
  19. }
  20. void ScriptSceneGizmos::internal_Create(MonoObject* managedInstance, ScriptCamera* camera)
  21. {
  22. new (bs_alloc<ScriptSceneGizmos>()) ScriptSceneGizmos(managedInstance, camera->getInternal());
  23. }
  24. void ScriptSceneGizmos::internal_Draw(ScriptSceneGizmos* thisPtr)
  25. {
  26. GizmoManager::instance().update(thisPtr->mCamera);
  27. }
  28. }