BsScriptSceneGrid.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Wrappers/BsScriptSceneGrid.h"
  4. #include "BsEditorApplication.h"
  5. #include "Scene/BsSceneGrid.h"
  6. #include "Components/BsCCamera.h"
  7. #include "Generated/BsScriptCCamera.generated.h"
  8. namespace bs
  9. {
  10. ScriptSceneGrid::ScriptSceneGrid(MonoObject* object, const SPtr<Camera>& camera)
  11. :ScriptObject(object), mSceneGrid(nullptr)
  12. {
  13. mSceneGrid = bs_new<SceneGrid>(camera);
  14. mSceneGrid->setSettings(gEditorApplication().getEditorSettings());
  15. }
  16. ScriptSceneGrid::~ScriptSceneGrid()
  17. {
  18. bs_delete(mSceneGrid);
  19. }
  20. void ScriptSceneGrid::initRuntimeData()
  21. {
  22. metaData.scriptClass->addInternalCall("Internal_Create", (void*)&ScriptSceneGrid::internal_Create);
  23. metaData.scriptClass->addInternalCall("Internal_Draw", (void*)&ScriptSceneGrid::internal_Draw);
  24. metaData.scriptClass->addInternalCall("Internal_SetMode", (void*)&ScriptSceneGrid::internal_SetMode);
  25. }
  26. void ScriptSceneGrid::internal_Create(MonoObject* managedInstance, ScriptCCamera* camera)
  27. {
  28. new (bs_alloc<ScriptSceneGrid>()) ScriptSceneGrid(managedInstance, camera->getHandle()->_getCamera());
  29. }
  30. void ScriptSceneGrid::internal_Draw(ScriptSceneGrid* thisPtr)
  31. {
  32. thisPtr->mSceneGrid->_update();
  33. }
  34. void ScriptSceneGrid::internal_SetMode(ScriptSceneGrid* thisPtr, UINT32 mode)
  35. {
  36. thisPtr->mSceneGrid->setMode((GridMode)mode);
  37. }
  38. }