BsScriptSceneGizmos.cpp 1.3 KB

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