BsScriptSceneGizmos.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Wrappers/BsScriptSceneGizmos.h"
  4. #include "Wrappers/BsScriptCamera.h"
  5. #include "Scene/BsGizmoManager.h"
  6. namespace bs
  7. {
  8. ScriptSceneGizmos::ScriptSceneGizmos(MonoObject* object, const SPtr<Camera>& camera)
  9. :ScriptObject(object), mCamera(camera)
  10. {
  11. }
  12. ScriptSceneGizmos::~ScriptSceneGizmos()
  13. {
  14. if (GizmoManager::isStarted()) // If not active, we don't care
  15. GizmoManager::instance().clearRenderData();
  16. }
  17. void ScriptSceneGizmos::initRuntimeData()
  18. {
  19. metaData.scriptClass->addInternalCall("Internal_Create", &ScriptSceneGizmos::internal_Create);
  20. metaData.scriptClass->addInternalCall("Internal_Draw", &ScriptSceneGizmos::internal_Draw);
  21. }
  22. void ScriptSceneGizmos::internal_Create(MonoObject* managedInstance, ScriptCamera* camera)
  23. {
  24. new (bs_alloc<ScriptSceneGizmos>()) ScriptSceneGizmos(managedInstance, camera->getInternal());
  25. }
  26. void ScriptSceneGizmos::internal_Draw(ScriptSceneGizmos* thisPtr)
  27. {
  28. GizmoManager::instance().update(thisPtr->mCamera);
  29. }
  30. }