BsCCapsuleColliderRTTI.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsCorePrerequisites.h"
  5. #include "BsRTTIType.h"
  6. #include "BsCCapsuleCollider.h"
  7. #include "BsGameObjectRTTI.h"
  8. namespace BansheeEngine
  9. {
  10. /** @cond RTTI */
  11. /** @addtogroup RTTI-Impl-Core
  12. * @{
  13. */
  14. class BS_CORE_EXPORT CCapsuleColliderRTTI : public RTTIType<CCapsuleCollider, CCollider, CCapsuleColliderRTTI>
  15. {
  16. private:
  17. BS_PLAIN_MEMBER(mNormal)
  18. BS_PLAIN_MEMBER(mRadius)
  19. BS_PLAIN_MEMBER(mHalfHeight)
  20. public:
  21. CCapsuleColliderRTTI()
  22. {
  23. BS_ADD_PLAIN_FIELD(mNormal, 0);
  24. BS_ADD_PLAIN_FIELD(mRadius, 1);
  25. BS_ADD_PLAIN_FIELD(mHalfHeight, 2);
  26. }
  27. const String& getRTTIName() override
  28. {
  29. static String name = "CCapsuleCollider";
  30. return name;
  31. }
  32. UINT32 getRTTIId() override
  33. {
  34. return TID_CCapsuleCollider;
  35. }
  36. std::shared_ptr<IReflectable> newRTTIObject() override
  37. {
  38. return GameObjectRTTI::createGameObject<CCapsuleCollider>();
  39. }
  40. };
  41. /** @} */
  42. /** @endcond */
  43. }