BsScriptSceneGrid.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "BsScriptSceneGrid.h"
  2. #include "BsScriptCamera.h"
  3. #include "BsEditorApplication.h"
  4. #include "BsSceneGrid.h"
  5. namespace BansheeEngine
  6. {
  7. ScriptSceneGrid::ScriptSceneGrid(MonoObject* object, const SPtr<Camera>& camera)
  8. :ScriptObject(object), mSceneGrid(nullptr)
  9. {
  10. mSceneGrid = bs_new<SceneGrid>(camera);
  11. mSceneGrid->setSettings(gEditorApplication().getEditorSettings());
  12. }
  13. ScriptSceneGrid::~ScriptSceneGrid()
  14. {
  15. bs_delete(mSceneGrid);
  16. }
  17. void ScriptSceneGrid::initRuntimeData()
  18. {
  19. metaData.scriptClass->addInternalCall("Internal_Create", &ScriptSceneGrid::internal_Create);
  20. metaData.scriptClass->addInternalCall("Internal_Draw", &ScriptSceneGrid::internal_Draw);
  21. metaData.scriptClass->addInternalCall("Internal_SetMode", &ScriptSceneGrid::internal_SetMode);
  22. }
  23. void ScriptSceneGrid::internal_Create(MonoObject* managedInstance, ScriptCamera* camera)
  24. {
  25. new (bs_alloc<ScriptSceneGrid>()) ScriptSceneGrid(managedInstance, camera->getInternal());
  26. }
  27. void ScriptSceneGrid::internal_Draw(ScriptSceneGrid* thisPtr)
  28. {
  29. thisPtr->mSceneGrid->_update();
  30. }
  31. void ScriptSceneGrid::internal_SetMode(ScriptSceneGrid* thisPtr, UINT32 mode)
  32. {
  33. thisPtr->mSceneGrid->setMode((GridMode)mode);
  34. }
  35. }