1
This commit is contained in:
parent
420b324c4f
commit
05e904e0a6
@ -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;
|
||||
|
@ -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:
|
||||
|
2
third_party/a8engine
vendored
2
third_party/a8engine
vendored
@ -1 +1 @@
|
||||
Subproject commit 600bba2be22c46844b15e8b728dd00bec55e51c2
|
||||
Subproject commit cc57f69109cae63a1cfda69df474ffc328c012cc
|
Loading…
x
Reference in New Issue
Block a user