BsScriptGizmos.cpp 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #include "BsScriptGizmos.h"
  2. #include "BsScriptMeta.h"
  3. #include "BsMonoClass.h"
  4. #include "BsScriptSpriteTexture.h"
  5. #include "BsSpriteTexture.h"
  6. #include "BsGizmoManager.h"
  7. namespace BansheeEngine
  8. {
  9. void ScriptGizmos::initRuntimeData()
  10. {
  11. metaData.scriptClass->addInternalCall("Internal_SetColor", &ScriptGizmos::internal_SetColor);
  12. metaData.scriptClass->addInternalCall("Internal_GetColor", &ScriptGizmos::internal_GetColor);
  13. metaData.scriptClass->addInternalCall("Internal_SetTransform", &ScriptGizmos::internal_SetTransform);
  14. metaData.scriptClass->addInternalCall("Internal_GetTransform", &ScriptGizmos::internal_GetTransform);
  15. metaData.scriptClass->addInternalCall("Internal_DrawCube", &ScriptGizmos::internal_DrawCube);
  16. metaData.scriptClass->addInternalCall("Internal_DrawSphere", &ScriptGizmos::internal_DrawSphere);
  17. metaData.scriptClass->addInternalCall("Internal_DrawWireCube", &ScriptGizmos::internal_DrawWireCube);
  18. metaData.scriptClass->addInternalCall("Internal_DrawWireSphere", &ScriptGizmos::internal_DrawWireSphere);
  19. metaData.scriptClass->addInternalCall("Internal_DrawLine", &ScriptGizmos::internal_DrawLine);
  20. metaData.scriptClass->addInternalCall("Internal_DrawFrustum", &ScriptGizmos::internal_DrawFrustum);
  21. metaData.scriptClass->addInternalCall("Internal_DrawIcon", &ScriptGizmos::internal_DrawIcon);
  22. }
  23. void ScriptGizmos::internal_SetColor(Color color)
  24. {
  25. GizmoManager::instance().setColor(color);
  26. }
  27. void ScriptGizmos::internal_GetColor(Color* color)
  28. {
  29. *color = GizmoManager::instance().getColor();
  30. }
  31. void ScriptGizmos::internal_SetTransform(Matrix4 transform)
  32. {
  33. GizmoManager::instance().setTransform(transform);
  34. }
  35. void ScriptGizmos::internal_GetTransform(Matrix4* transform)
  36. {
  37. *transform = GizmoManager::instance().getTransform();
  38. }
  39. void ScriptGizmos::internal_DrawCube(Vector3 position, Vector3 extents)
  40. {
  41. GizmoManager::instance().drawCube(position, extents);
  42. }
  43. void ScriptGizmos::internal_DrawSphere(Vector3 position, float radius)
  44. {
  45. GizmoManager::instance().drawSphere(position, radius);
  46. }
  47. void ScriptGizmos::internal_DrawWireCube(Vector3 position, Vector3 extents)
  48. {
  49. GizmoManager::instance().drawWireCube(position, extents);
  50. }
  51. void ScriptGizmos::internal_DrawWireSphere(Vector3 position, float radius)
  52. {
  53. GizmoManager::instance().drawWireSphere(position, radius);
  54. }
  55. void ScriptGizmos::internal_DrawLine(Vector3 start, Vector3 end)
  56. {
  57. GizmoManager::instance().drawLine(start, end);
  58. }
  59. void ScriptGizmos::internal_DrawFrustum(Vector3 position, float aspect, Degree FOV, float near, float far)
  60. {
  61. GizmoManager::instance().drawFrustum(position, aspect, FOV, near, far);
  62. }
  63. void ScriptGizmos::internal_DrawIcon(Vector3 position, MonoObject* image, bool fixedScale)
  64. {
  65. HSpriteTexture nativeTexture;
  66. if (image != nullptr)
  67. nativeTexture = ScriptSpriteTexture::toNative(image)->getHandle();
  68. GizmoManager::instance().drawIcon(position, nativeTexture, fixedScale);
  69. }
  70. }