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);
}
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;
@ -325,6 +334,11 @@ void DestoryCollider(ColliderComponent* collider)
delete (CircleCollider*)collider;
}
break;
case CT_Obb:
{
delete (ObbCollider*)collider;
}
break;
default:
{
delete collider;

View File

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

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