BsScriptCapsuleCollider.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsScriptEnginePrerequisites.h"
  5. #include "BsScriptCollider.h"
  6. namespace BansheeEngine
  7. {
  8. /** @addtogroup ScriptInteropEngine
  9. * @{
  10. */
  11. /** Interop class between C++ & CLR for CapsuleCollider. */
  12. class BS_SCR_BE_EXPORT ScriptCapsuleCollider : public TScriptCollider<ScriptCapsuleCollider>
  13. {
  14. public:
  15. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "NativeCapsuleCollider")
  16. private:
  17. ScriptCapsuleCollider(MonoObject* instance, const SPtr<Collider>& collider);
  18. /** Returns the native capsule collider wrapped by this object. */
  19. CapsuleCollider* getCapsuleCollider() const;
  20. /************************************************************************/
  21. /* CLR HOOKS */
  22. /************************************************************************/
  23. static void internal_CreateInstance(MonoObject* instance);
  24. static void internal_SetHalfHeight(ScriptCapsuleCollider* thisPtr, float halfHeight);
  25. static float internal_GetHalfHeight(ScriptCapsuleCollider* thisPtr);
  26. static void internal_SetRadius(ScriptCapsuleCollider* thisPtr, float radius);
  27. static float internal_GetRadius(ScriptCapsuleCollider* thisPtr);
  28. };
  29. /** @} */
  30. }