添加半墙处理
This commit is contained in:
parent
f87b417923
commit
5b3286f3fa
@ -43,6 +43,19 @@ void Building::RecalcSelfCollider()
|
||||
permanent_map_service->AddCollider(collider);
|
||||
}
|
||||
|
||||
for (auto& obj : meta->i->halfwallobj()) {
|
||||
AabbCollider* collider = new AabbCollider();
|
||||
collider->owner = this;
|
||||
collider->_min = a8::Vec2(obj.x() - obj.width()/2.0 - meta->i->tilewidth()/2.0,
|
||||
obj.y() - obj.height()/2.0 - meta->i->tileheight()/2.0);
|
||||
collider->_max = a8::Vec2(obj.x() + obj.width()/2.0 - meta->i->tilewidth()/2.0,
|
||||
obj.y() + obj.height()/2.0 - meta->i->tileheight()/2.0);
|
||||
a8::SetBitFlag(collider->tag, kHalfWallTag);
|
||||
AddEntityCollider(collider);
|
||||
collider_list.push_back(collider);
|
||||
permanent_map_service->AddCollider(collider);
|
||||
}
|
||||
|
||||
AutoAdjust(collider_list);
|
||||
}
|
||||
|
||||
|
@ -216,7 +216,7 @@ void Bullet::MapServiceUpdate()
|
||||
std::set<ColliderComponent*> colliders;
|
||||
room->map_service->GetColliders(room, GetX(), GetY(), colliders);
|
||||
for (ColliderComponent* collider : colliders) {
|
||||
if (TestCollision(room, collider)) {
|
||||
if (TestCollision(room, collider) && !a8::HasBitFlag(collider->tag, kHalfWallTag)) {
|
||||
objects.insert(collider->owner);
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ class ColliderComponent
|
||||
Entity* owner = nullptr;
|
||||
ColliderType_e type = CT_None;
|
||||
bool active = true;
|
||||
int tag = 0;
|
||||
|
||||
bool Intersect(ColliderComponent* b);
|
||||
bool IntersectEx(const a8::Vec2& pos, ColliderComponent* b);
|
||||
|
@ -312,6 +312,11 @@ enum AIMode_e
|
||||
kZombieAiMode = 2
|
||||
};
|
||||
|
||||
enum ColliderTag_e
|
||||
{
|
||||
kHalfWallTag = 1
|
||||
};
|
||||
|
||||
const char* const PROJ_NAME_FMT = "game%d_gameserver";
|
||||
const char* const PROJ_ROOT_FMT = "/data/logs/%s";
|
||||
|
||||
@ -368,3 +373,4 @@ const int ZOMBIE_RACE_META_START_ID = 6001;
|
||||
const int TERMINATOR_BUFF_ID = 1033;
|
||||
|
||||
const int TURN_OVER_SKILL_ID = 41001;
|
||||
|
||||
|
@ -312,6 +312,7 @@ message BuildingJson
|
||||
repeated DropObjJson dropObj = 5;
|
||||
repeated StaticObjJson staticObj = 6;
|
||||
repeated LootObjJson lootObj = 7;
|
||||
repeated StaticObjJson halfwallObj = 8;
|
||||
|
||||
optional int32 mapId = 20;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user