This commit is contained in:
aozhiwei 2022-08-05 10:07:49 +08:00
parent 420b324c4f
commit 05e904e0a6
3 changed files with 25 additions and 2 deletions

View File

@ -62,6 +62,15 @@ bool ColliderComponent::Intersect(ColliderComponent* b)
b_circle->rad); b_circle->rad);
} }
break; break;
case CT_Obb:
{
ObbCollider* b_obb = (ObbCollider*)b;
return a8::IntersectAabbObb(a_aabb->owner->GetPos() + a_aabb->_min,
a_aabb->owner->GetPos() + a_aabb->_max,
b_obb->owner->GetPos(),
b_obb->rotate);
}
break;
} }
}; };
break; break;
@ -325,6 +334,11 @@ void DestoryCollider(ColliderComponent* collider)
delete (CircleCollider*)collider; delete (CircleCollider*)collider;
} }
break; break;
case CT_Obb:
{
delete (ObbCollider*)collider;
}
break;
default: default:
{ {
delete collider; delete collider;

View File

@ -4,7 +4,8 @@ enum ColliderType_e
{ {
CT_None, CT_None,
CT_Aabb, CT_Aabb,
CT_Circle CT_Circle,
CT_Obb,
}; };
class Entity; class Entity;
@ -35,6 +36,14 @@ public:
void MoveCenter(float x, float y); void MoveCenter(float x, float y);
}; };
class ObbCollider : public ColliderComponent
{
public:
float rotate = 0;
ObbCollider() { type = CT_Obb; };
};
class CircleCollider : public ColliderComponent class CircleCollider : public ColliderComponent
{ {
public: public:

@ -1 +1 @@
Subproject commit 600bba2be22c46844b15e8b728dd00bec55e51c2 Subproject commit cc57f69109cae63a1cfda69df474ffc328c012cc