20 PL_DECLARE_POD_TYPE();
27 m_Type = Type::DynamicActorComponent;
33 m_Type = Type::StaticActorComponent;
39 m_Type = Type::TriggerComponent;
45 m_Type = Type::CharacterComponent;
51 m_Type = Type::ShapeComponent;
57 m_Type = Type::QueryShapeActorComponent;
63 m_Type = Type::SurfaceResource;
69 m_Type = Type::RagdollComponent;
75 m_Type = Type::RopeComponent;
79 PL_FORCE_INLINE
void Invalidate()
81 m_Type = Type::Invalid;
85 PL_FORCE_INLINE
static plComponent* GetComponent(
const void* pUserData)
88 if (pJoltUserData ==
nullptr ||
89 pJoltUserData->m_Type == Type::Invalid ||
90 pJoltUserData->m_Type == Type::SurfaceResource)
95 return static_cast<plComponent*
>(pJoltUserData->m_pObject);
101 if (pJoltUserData !=
nullptr &&
102 (pJoltUserData->m_Type == Type::DynamicActorComponent ||
103 pJoltUserData->m_Type == Type::StaticActorComponent ||
104 pJoltUserData->m_Type == Type::QueryShapeActorComponent))
115 if (pJoltUserData !=
nullptr && pJoltUserData->m_Type == Type::DynamicActorComponent)
126 if (pJoltUserData !=
nullptr && pJoltUserData->m_Type == Type::RagdollComponent)
137 if (pJoltUserData !=
nullptr && pJoltUserData->m_Type == Type::RopeComponent)
159 if (pJoltUserData !=
nullptr && pJoltUserData->m_Type == Type::TriggerComponent)
167 PL_FORCE_INLINE
static const plSurfaceResource* GetSurfaceResource(
const void* pUserData)
170 if (pJoltUserData !=
nullptr && pJoltUserData->m_Type == Type::SurfaceResource)
182 DynamicActorComponent,
183 StaticActorComponent,
187 BreakableSheetComponent,
189 QueryShapeActorComponent,
194 Type m_Type = Type::Invalid;
195 void* m_pObject =
nullptr;