From 365008150d23c90ad5b286f8b7c0f54ccdf9cee0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 6 Feb 2023 19:08:33 +0800 Subject: [PATCH] 1 --- server/gameserver/mapcollider.h | 54 ++++++++++++++++++++++++++++++ server/gameserver/mt/MapCollider.h | 50 ++------------------------- 2 files changed, 56 insertions(+), 48 deletions(-) create mode 100644 server/gameserver/mapcollider.h diff --git a/server/gameserver/mapcollider.h b/server/gameserver/mapcollider.h new file mode 100644 index 00000000..6be1302f --- /dev/null +++ b/server/gameserver/mapcollider.h @@ -0,0 +1,54 @@ +#pragma once + +#include +#include + +namespace mc +{ + struct Bounds + { + glm::vec3 center = glm::vec3(0.0f, 0.0f, 0.0f); + glm::vec3 size = glm::vec3(0.0f, 0.0f, 0.0f); + }; + + struct Transform + { + glm::vec3 local_position = glm::vec3(0.0f, 0.0f, 0.0f); + glm::quat local_rotation = glm::quat(0.0f, 0.0f, 0.0f, 0.0f); + glm::vec3 local_scale = glm::vec3(0.0f, 0.0f, 0.0f); + }; + + struct Mesh + { + std::vector vertices; + std::vector triangles; + Bounds bounds; + }; + + struct Collider + { + bool enabled = false; + bool is_trigge = false; + Bounds bounds; + }; + + struct MeshCollider : public Collider + { + Mesh mesh; + }; + + struct BoxCollider : public Collider + { + glm::vec3 center = glm::vec3(0.0f, 0.0f, 0.0f); + glm::vec3 size = glm::vec3(0.0f, 0.0f, 0.0f); + }; + + struct ColliderNode + { + ColliderNode* parent = nullptr; + std::string name; + std::vector colliders; + std::map childs; + }; + +}; diff --git a/server/gameserver/mt/MapCollider.h b/server/gameserver/mt/MapCollider.h index e841ef39..462ea5bc 100644 --- a/server/gameserver/mt/MapCollider.h +++ b/server/gameserver/mt/MapCollider.h @@ -1,60 +1,14 @@ #pragma once -#include -#include +#include "mapcollider.h" namespace mt { - struct Bounds - { - glm::vec3 center = glm::vec3(0.0f, 0.0f, 0.0f); - glm::vec3 size = glm::vec3(0.0f, 0.0f, 0.0f); - }; - - struct Transform - { - glm::vec3 local_position = glm::vec3(0.0f, 0.0f, 0.0f); - glm::quat local_rotation = glm::quat(0.0f, 0.0f, 0.0f, 0.0f); - glm::vec3 local_scale = glm::vec3(0.0f, 0.0f, 0.0f); - }; - - struct Mesh - { - std::vector vertices; - std::vector triangles; - Bounds bounds; - }; - - struct Collider - { - bool enabled = false; - bool is_trigge = false; - Bounds bounds; - }; - - struct MeshCollider : public Collider - { - Mesh mesh; - }; - - struct BoxCollider : public Collider - { - glm::vec3 center = glm::vec3(0.0f, 0.0f, 0.0f); - glm::vec3 size = glm::vec3(0.0f, 0.0f, 0.0f); - }; - - struct ColliderNode - { - ColliderNode* parent = nullptr; - std::string name; - std::vector colliders; - std::map childs; - }; class MapCollider { private: - std::map nodes; + std::map nodes; }; }