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 "Importer/BsMeshImportOptions.h"
8#include "Private/RTTI/BsAnimationClipRTTI.h"
9
10namespace bs
11{
12 /** @cond RTTI */
13 /** @addtogroup RTTI-Impl-Core
14 * @{
15 */
16
17 class BS_CORE_EXPORT MeshImportOptionsRTTI : public RTTIType <MeshImportOptions, ImportOptions, MeshImportOptionsRTTI>
18 {
19 private:
20 BS_BEGIN_RTTI_MEMBERS
21 BS_RTTI_MEMBER_PLAIN(cpuCached, 0)
22 BS_RTTI_MEMBER_PLAIN(importNormals, 1)
23 BS_RTTI_MEMBER_PLAIN(importTangents, 2)
24 BS_RTTI_MEMBER_PLAIN(importBlendShapes, 3)
25 BS_RTTI_MEMBER_PLAIN(importSkin, 4)
26 BS_RTTI_MEMBER_PLAIN(importAnimation, 5)
27 BS_RTTI_MEMBER_PLAIN(importScale, 6)
28 BS_RTTI_MEMBER_PLAIN(collisionMeshType, 7)
29 BS_RTTI_MEMBER_REFL_ARRAY(animationSplits, 8)
30 BS_RTTI_MEMBER_PLAIN(reduceKeyFrames, 9)
31 BS_RTTI_MEMBER_REFL_ARRAY(animationEvents, 10)
32 BS_RTTI_MEMBER_PLAIN(importRootMotion, 11)
33 BS_END_RTTI_MEMBERS
34 public:
35 const String& getRTTIName() override
36 {
37 static String name = "MeshImportOptions";
38 return name;
39 }
40
41 UINT32 getRTTIId() override
42 {
43 return TID_MeshImportOptions;
44 }
45
46 SPtr<IReflectable> newRTTIObject() override
47 {
48 return bs_shared_ptr_new<MeshImportOptions>();
49 }
50 };
51
52 class BS_CORE_EXPORT ImportedAnimationEventsRTTI : public RTTIType <ImportedAnimationEvents, IReflectable, ImportedAnimationEventsRTTI>
53 {
54 private:
55 BS_BEGIN_RTTI_MEMBERS
56 BS_RTTI_MEMBER_PLAIN(name, 0)
57 BS_RTTI_MEMBER_PLAIN(events, 1)
58 BS_END_RTTI_MEMBERS
59 public:
60 const String& getRTTIName() override
61 {
62 static String name = "ImportedAnimationEvents";
63 return name;
64 }
65
66 UINT32 getRTTIId() override
67 {
68 return TID_ImportedAnimationEvents;
69 }
70
71 SPtr<IReflectable> newRTTIObject() override
72 {
73 return bs_shared_ptr_new<ImportedAnimationEvents>();
74 }
75 };
76
77 class BS_CORE_EXPORT AnimationSplitInfoRTTI : public RTTIType <AnimationSplitInfo, IReflectable, AnimationSplitInfoRTTI>
78 {
79 private:
80 BS_BEGIN_RTTI_MEMBERS
81 BS_RTTI_MEMBER_PLAIN(name, 0)
82 BS_RTTI_MEMBER_PLAIN(startFrame, 1)
83 BS_RTTI_MEMBER_PLAIN(endFrame, 2)
84 BS_RTTI_MEMBER_PLAIN(isAdditive, 3)
85 BS_END_RTTI_MEMBERS
86 public:
87 const String& getRTTIName() override
88 {
89 static String name = "AnimationSplitInfo";
90 return name;
91 }
92
93 UINT32 getRTTIId() override
94 {
95 return TID_AnimationSplitInfo;
96 }
97
98 SPtr<IReflectable> newRTTIObject() override
99 {
100 return bs_shared_ptr_new<AnimationSplitInfo>();
101 }
102 };
103
104 /** @} */
105 /** @endcond */
106}
107