1//************************************ bs::framework - Copyright 2018 Marko Pintera **************************************//
2//*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********//
3#pragma once
4
5#include "BsCorePrerequisites.h"
6#include "Reflection/BsRTTIType.h"
7#include "Components/BsCCharacterController.h"
8#include "Private/RTTI/BsGameObjectRTTI.h"
9
10namespace bs
11{
12 /** @cond RTTI */
13 /** @addtogroup RTTI-Impl-Core
14 * @{
15 */
16
17 class BS_CORE_EXPORT CCharacterControllerRTTI : public RTTIType<CCharacterController, Component, CCharacterControllerRTTI>
18 {
19 private:
20 BS_BEGIN_RTTI_MEMBERS
21 BS_RTTI_MEMBER_PLAIN_NAMED(mPosition, mDesc.position, 0)
22 BS_RTTI_MEMBER_PLAIN_NAMED(mContactOffset, mDesc.contactOffset, 1)
23 BS_RTTI_MEMBER_PLAIN_NAMED(mStepOffset, mDesc.stepOffset, 2)
24 BS_RTTI_MEMBER_PLAIN_NAMED(mSlopeLimit, mDesc.slopeLimit, 3)
25 BS_RTTI_MEMBER_PLAIN_NAMED(mMinMoveDistance, mDesc.minMoveDistance, 4)
26 BS_RTTI_MEMBER_PLAIN_NAMED(mHeight, mDesc.height, 5)
27 BS_RTTI_MEMBER_PLAIN_NAMED(mRadius, mDesc.radius, 6)
28 BS_RTTI_MEMBER_PLAIN_NAMED(mUp, mDesc.up, 7)
29 BS_RTTI_MEMBER_PLAIN_NAMED(mClimbingMode, mDesc.climbingMode, 8)
30 BS_RTTI_MEMBER_PLAIN_NAMED(mNonWalkableMode, mDesc.nonWalkableMode, 9)
31 BS_RTTI_MEMBER_PLAIN(mLayer, 10)
32 BS_END_RTTI_MEMBERS
33
34 public:
35 const String& getRTTIName() override
36 {
37 static String name = "CCharacterController";
38 return name;
39 }
40
41 UINT32 getRTTIId() override
42 {
43 return TID_CCharacterController;
44 }
45
46 SPtr<IReflectable> newRTTIObject() override
47 {
48 return SceneObject::createEmptyComponent<CCharacterController>();
49 }
50 };
51
52 /** @} */
53 /** @endcond */
54}
55