1
This commit is contained in:
parent
5c8ab6cd90
commit
240778da53
@ -52,24 +52,6 @@ bool Entity::TestCollision(Room* room, Entity* b)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ColliderComponent* Entity::TestCollisionAndGetCollider(Room* room, Entity* b)
|
|
||||||
{
|
|
||||||
PerfMonitor::Instance()->test_times++;
|
|
||||||
if (b->IsDead(room)) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
OnPreCollision(room);
|
|
||||||
b->OnPreCollision(room);
|
|
||||||
for (auto& a_collider : colliders_) {
|
|
||||||
for (auto& b_collider : b->colliders_) {
|
|
||||||
if (a_collider->Intersect(b_collider)) {
|
|
||||||
return b_collider;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Entity::TestCollision(Room* room, ColliderComponent* b)
|
bool Entity::TestCollision(Room* room, ColliderComponent* b)
|
||||||
{
|
{
|
||||||
if (b->owner->IsDead(room)) {
|
if (b->owner->IsDead(room)) {
|
||||||
@ -85,21 +67,6 @@ bool Entity::TestCollision(Room* room, ColliderComponent* b)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ColliderComponent* Entity::TestCollisionAndGetCollider(Room* room, ColliderComponent* b)
|
|
||||||
{
|
|
||||||
if (b->owner->IsDead(room)) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
OnPreCollision(room);
|
|
||||||
b->owner->OnPreCollision(room);
|
|
||||||
for (auto& a_collider : colliders_) {
|
|
||||||
if (a_collider->Intersect(b)) {
|
|
||||||
return a_collider;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Entity::TestCollisionEx(Room* room, const a8::Vec2& aabb_pos, AabbCollider& aabb_box)
|
bool Entity::TestCollisionEx(Room* room, const a8::Vec2& aabb_pos, AabbCollider& aabb_box)
|
||||||
{
|
{
|
||||||
OnPreCollision(room);
|
OnPreCollision(room);
|
||||||
|
@ -51,9 +51,7 @@ class Entity
|
|||||||
{ return subtype == entity_subtype_;}
|
{ return subtype == entity_subtype_;}
|
||||||
int GetGridId() const { return grid_id_; }
|
int GetGridId() const { return grid_id_; }
|
||||||
bool TestCollision(Room* room, Entity* b);
|
bool TestCollision(Room* room, Entity* b);
|
||||||
ColliderComponent* TestCollisionAndGetCollider(Room* room, Entity* b);
|
|
||||||
bool TestCollision(Room* room, ColliderComponent* b);
|
bool TestCollision(Room* room, ColliderComponent* b);
|
||||||
ColliderComponent* TestCollisionAndGetCollider(Room* room, ColliderComponent* b);
|
|
||||||
bool TestCollisionEx(Room* room, const a8::Vec2& aabb_pos, AabbCollider& aabb_box);
|
bool TestCollisionEx(Room* room, const a8::Vec2& aabb_pos, AabbCollider& aabb_box);
|
||||||
void BroadcastFullState(Room* room);
|
void BroadcastFullState(Room* room);
|
||||||
void BroadcastDeleteState(Room* room);
|
void BroadcastDeleteState(Room* room);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user