BsScriptSceneViewHandler.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "BsScriptSceneViewHandler.h"
  2. #include "BsScriptMeta.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "BsSceneViewHandler.h"
  6. #include "BsScriptCamera.h"
  7. namespace BansheeEngine
  8. {
  9. ScriptSceneViewHandler::ScriptSceneViewHandler(MonoObject* object, const SPtr<CameraHandler>& camera)
  10. :ScriptObject(object), mHandler(nullptr)
  11. {
  12. mHandler = bs_new<SceneViewHandler>(camera);
  13. }
  14. ScriptSceneViewHandler::~ScriptSceneViewHandler()
  15. {
  16. bs_delete(mHandler);
  17. }
  18. void ScriptSceneViewHandler::initRuntimeData()
  19. {
  20. metaData.scriptClass->addInternalCall("Internal_Create", &ScriptSceneViewHandler::internal_Create);
  21. metaData.scriptClass->addInternalCall("Internal_Update", &ScriptSceneViewHandler::internal_Update);
  22. metaData.scriptClass->addInternalCall("Internal_PointerPressed", &ScriptSceneViewHandler::internal_PointerPressed);
  23. metaData.scriptClass->addInternalCall("Internal_PointerReleased", &ScriptSceneViewHandler::internal_PointerReleased);
  24. }
  25. void ScriptSceneViewHandler::internal_Create(MonoObject* managedInstance, ScriptCamera* camera)
  26. {
  27. new (bs_alloc<ScriptSceneViewHandler>()) ScriptSceneViewHandler(managedInstance, camera->getHandler());
  28. }
  29. void ScriptSceneViewHandler::internal_Update(ScriptSceneViewHandler* thisPtr, Vector2I inputPos)
  30. {
  31. thisPtr->mHandler->update(inputPos);
  32. }
  33. void ScriptSceneViewHandler::internal_PointerPressed(ScriptSceneViewHandler* thisPtr, Vector2I inputPos)
  34. {
  35. thisPtr->mHandler->pointerPressed(inputPos);
  36. }
  37. void ScriptSceneViewHandler::internal_PointerReleased(ScriptSceneViewHandler* thisPtr, Vector2I inputPos, bool controlPressed)
  38. {
  39. thisPtr->mHandler->pointerReleased(inputPos, controlPressed);
  40. }
  41. }