1
This commit is contained in:
parent
081ea350b0
commit
aae438b6c7
@ -3,3 +3,7 @@
|
|||||||
#include "entity.h"
|
#include "entity.h"
|
||||||
#include "collider.h"
|
#include "collider.h"
|
||||||
|
|
||||||
|
bool ColliderComponent::Intersect(ColliderComponent* b)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
delete collider;
|
switch (collider->type) {
|
||||||
|
case CT_Aabb:
|
||||||
|
{
|
||||||
|
delete (AabbCollider*)collider;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case CT_Circle:
|
||||||
|
{
|
||||||
|
delete (CircleCollider*)collider;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
delete collider;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
colliders.clear();
|
colliders.clear();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user