Added capsule collider component

This commit is contained in:
Antoine Pilote
2023-04-02 19:01:40 -04:00
parent 17849584e5
commit 80eadc2a5a
9 changed files with 144 additions and 46 deletions

View File

@@ -13,6 +13,7 @@
#include "src/Scene/Components/Components.h"
#include <src/Scene/Components/BoxCollider.h>
#include "src/Scene/Components/CapsuleColliderComponent.h"
namespace Nuake
{
@@ -30,34 +31,36 @@ namespace Nuake
json Entity::Serialize()
{
BEGIN_SERIALIZE();
SERIALIZE_OBJECT_REF_LBL("NameComponent", GetComponent<NameComponent>());
SERIALIZE_OBJECT_REF_LBL("ParentComponent", GetComponent<ParentComponent>());
SERIALIZE_OBJECT_REF_LBL("TransformComponent", GetComponent<TransformComponent>());
SERIALIZE_OBJECT_REF_LBL("VisibilityComponent", GetComponent<VisibilityComponent>());
SERIALIZE_OBJECT_REF_LBL("NameComponent", GetComponent<NameComponent>())
SERIALIZE_OBJECT_REF_LBL("ParentComponent", GetComponent<ParentComponent>())
SERIALIZE_OBJECT_REF_LBL("TransformComponent", GetComponent<TransformComponent>())
SERIALIZE_OBJECT_REF_LBL("VisibilityComponent", GetComponent<VisibilityComponent>())
if (HasComponent<CameraComponent>())
SERIALIZE_OBJECT_REF_LBL("CameraComponent", GetComponent<CameraComponent>());
SERIALIZE_OBJECT_REF_LBL("CameraComponent", GetComponent<CameraComponent>())
if (HasComponent<QuakeMapComponent>())
SERIALIZE_OBJECT_REF_LBL("QuakeMapComponent", GetComponent<QuakeMapComponent>());
SERIALIZE_OBJECT_REF_LBL("QuakeMapComponent", GetComponent<QuakeMapComponent>())
if (HasComponent<LightComponent>())
SERIALIZE_OBJECT_REF_LBL("LightComponent", GetComponent<LightComponent>());
SERIALIZE_OBJECT_REF_LBL("LightComponent", GetComponent<LightComponent>())
if (HasComponent<WrenScriptComponent>())
SERIALIZE_OBJECT_REF_LBL("WrenScriptComponent", GetComponent<WrenScriptComponent>());
SERIALIZE_OBJECT_REF_LBL("WrenScriptComponent", GetComponent<WrenScriptComponent>())
if (HasComponent<CharacterControllerComponent>())
SERIALIZE_OBJECT_REF_LBL("CharacterControllerComponent", GetComponent<CharacterControllerComponent>());
SERIALIZE_OBJECT_REF_LBL("CharacterControllerComponent", GetComponent<CharacterControllerComponent>())
if (HasComponent<BoxColliderComponent>())
SERIALIZE_OBJECT_REF_LBL("BoxColliderComponent", GetComponent<BoxColliderComponent>());
SERIALIZE_OBJECT_REF_LBL("BoxColliderComponent", GetComponent<BoxColliderComponent>())
if (HasComponent<CapsuleColliderComponent>())
SERIALIZE_OBJECT_REF_LBL("CapsuleColliderComponent", GetComponent<CapsuleColliderComponent>())
if (HasComponent<SphereColliderComponent>())
SERIALIZE_OBJECT_REF_LBL("SphereColliderComponent", GetComponent<SphereColliderComponent>());
SERIALIZE_OBJECT_REF_LBL("SphereColliderComponent", GetComponent<SphereColliderComponent>())
if (HasComponent<MeshColliderComponent>())
SERIALIZE_OBJECT_REF_LBL("MeshColliderComponent", GetComponent<MeshColliderComponent>());
SERIALIZE_OBJECT_REF_LBL("MeshColliderComponent", GetComponent<MeshColliderComponent>())
if (HasComponent<ModelComponent>())
SERIALIZE_OBJECT_REF_LBL("ModelComponent", GetComponent<ModelComponent>());
SERIALIZE_OBJECT_REF_LBL("ModelComponent", GetComponent<ModelComponent>())
if (HasComponent<BSPBrushComponent>())
SERIALIZE_OBJECT_REF_LBL("BSPBrushComponent", GetComponent<BSPBrushComponent>());
SERIALIZE_OBJECT_REF_LBL("BSPBrushComponent", GetComponent<BSPBrushComponent>())
if (HasComponent<QuakeMapComponent>())
SERIALIZE_OBJECT_REF_LBL("QuakeMapComponent", GetComponent<QuakeMapComponent>());
SERIALIZE_OBJECT_REF_LBL("QuakeMapComponent", GetComponent<QuakeMapComponent>())
if (HasComponent<RigidBodyComponent>())
SERIALIZE_OBJECT_REF_LBL("RigidBodyComponent", GetComponent<RigidBodyComponent>());
SERIALIZE_OBJECT_REF_LBL("RigidBodyComponent", GetComponent<RigidBodyComponent>())
END_SERIALIZE();
}
@@ -65,25 +68,26 @@ namespace Nuake
bool Entity::Deserialize(const std::string& str)
{
BEGIN_DESERIALIZE();
DESERIALIZE_COMPONENT(TransformComponent);
DESERIALIZE_COMPONENT(TransformComponent)
DESERIALIZE_COMPONENT(VisibilityComponent)
else
{
AddComponent<VisibilityComponent>();
}
DESERIALIZE_COMPONENT(NameComponent);
DESERIALIZE_COMPONENT(ParentComponent);
DESERIALIZE_COMPONENT(CameraComponent);
DESERIALIZE_COMPONENT(QuakeMapComponent);
DESERIALIZE_COMPONENT(LightComponent);
DESERIALIZE_COMPONENT(ModelComponent);
DESERIALIZE_COMPONENT(WrenScriptComponent);
DESERIALIZE_COMPONENT(CharacterControllerComponent);
DESERIALIZE_COMPONENT(BoxColliderComponent);
DESERIALIZE_COMPONENT(MeshColliderComponent);
DESERIALIZE_COMPONENT(SphereColliderComponent);
DESERIALIZE_COMPONENT(RigidBodyComponent);
DESERIALIZE_COMPONENT(BSPBrushComponent);
DESERIALIZE_COMPONENT(NameComponent)
DESERIALIZE_COMPONENT(ParentComponent)
DESERIALIZE_COMPONENT(CameraComponent)
DESERIALIZE_COMPONENT(QuakeMapComponent)
DESERIALIZE_COMPONENT(LightComponent)
DESERIALIZE_COMPONENT(ModelComponent)
DESERIALIZE_COMPONENT(WrenScriptComponent)
DESERIALIZE_COMPONENT(CharacterControllerComponent)
DESERIALIZE_COMPONENT(BoxColliderComponent)
DESERIALIZE_COMPONENT(CapsuleColliderComponent)
DESERIALIZE_COMPONENT(MeshColliderComponent)
DESERIALIZE_COMPONENT(SphereColliderComponent)
DESERIALIZE_COMPONENT(RigidBodyComponent)
DESERIALIZE_COMPONENT(BSPBrushComponent)
return true;
}