2
0

BsScriptVector.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsVector2.h"
  5. #include "BsVector3.h"
  6. #include "BsVector4.h"
  7. namespace BansheeEngine
  8. {
  9. class BS_SCR_BE_EXPORT ScriptVector2 : public ScriptObject <ScriptVector2>
  10. {
  11. public:
  12. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Vector2")
  13. static Vector2 unbox(MonoObject* obj);
  14. static MonoObject* box(const Vector2& value);
  15. private:
  16. ScriptVector2(MonoObject* instance);
  17. };
  18. class BS_SCR_BE_EXPORT ScriptVector3 : public ScriptObject <ScriptVector3>
  19. {
  20. public:
  21. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Vector3")
  22. static Vector3 unbox(MonoObject* obj);
  23. static MonoObject* box(const Vector3& value);
  24. private:
  25. ScriptVector3(MonoObject* instance);
  26. };
  27. class BS_SCR_BE_EXPORT ScriptVector4 : public ScriptObject <ScriptVector4>
  28. {
  29. public:
  30. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "Vector4")
  31. static Vector4 unbox(MonoObject* obj);
  32. static MonoObject* box(const Vector4& value);
  33. private:
  34. ScriptVector4(MonoObject* instance);
  35. };
  36. }