This commit is contained in:
aozhiwei 2019-03-16 11:20:45 +08:00
parent 081ea350b0
commit aae438b6c7
3 changed files with 27 additions and 3 deletions

View File

@ -3,3 +3,7 @@
#include "entity.h" #include "entity.h"
#include "collider.h" #include "collider.h"
bool ColliderComponent::Intersect(ColliderComponent* b)
{
return false;
}

View File

@ -13,13 +13,16 @@ class ColliderComponent
public: public:
Entity* owner = nullptr; Entity* owner = nullptr;
ColliderType_e type = CT_None; ColliderType_e type = CT_None;
bool active = true;
bool Intersect(ColliderComponent* b);
}; };
class AabbCollider : public ColliderComponent class AabbCollider : public ColliderComponent
{ {
public: public:
Vector2D center; Vector2D _min;
Vector2D size; Vector2D _max;
}; };
class CircleCollider : public ColliderComponent class CircleCollider : public ColliderComponent

View File

@ -1,12 +1,29 @@
#include "precompile.h" #include "precompile.h"
#include "entity.h" #include "entity.h"
#include "collider.h"
Entity::~Entity() Entity::~Entity()
{ {
for (auto& itr : colliders) { for (auto& itr : colliders) {
ColliderComponent* collider = itr; ColliderComponent* collider = itr;
switch (collider->type) {
case CT_Aabb:
{
delete (AabbCollider*)collider;
}
break;
case CT_Circle:
{
delete (CircleCollider*)collider;
}
break;
default:
{
delete collider; delete collider;
} }
break;
}
}
colliders.clear(); colliders.clear();
} }