添加grass water ice出来
This commit is contained in:
parent
21a5be0d4f
commit
8ce7854986
@ -4291,12 +4291,74 @@ void Human::CheckSpecObject()
|
|||||||
std::set<ColliderComponent*> colliders;
|
std::set<ColliderComponent*> colliders;
|
||||||
room->map_service->GetSpecColliders(spec_flags, room, GetPos().x, GetPos().y, colliders);
|
room->map_service->GetSpecColliders(spec_flags, room, GetPos().x, GetPos().y, colliders);
|
||||||
|
|
||||||
|
bool in_grass = false;
|
||||||
|
bool in_water = false;
|
||||||
|
bool in_ice = false;
|
||||||
for (const ColliderComponent* collider : colliders) {
|
for (const ColliderComponent* collider : colliders) {
|
||||||
switch (collider->owner->GetEntityType()) {
|
switch (collider->owner->GetEntityType()) {
|
||||||
case ET_Loot:
|
case ET_Obstacle:
|
||||||
|
case ET_Building:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (in_grass) {
|
||||||
|
if (!HasBuffEffect(kBET_InGrass)) {
|
||||||
|
OnEnterGrass();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (HasBuffEffect(kBET_InGrass)) {
|
||||||
|
OnLeaveGrass();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (in_water) {
|
||||||
|
if (!HasBuffEffect(kBET_InWater)) {
|
||||||
|
OnEnterWater();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (HasBuffEffect(kBET_InWater)) {
|
||||||
|
OnLeaveWater();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (in_ice) {
|
||||||
|
if (!HasBuffEffect(kBET_InIce)) {
|
||||||
|
OnEnterIce();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (HasBuffEffect(kBET_InIce)) {
|
||||||
|
OnLeaveIce();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::OnEnterGrass()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::OnLeaveGrass()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::OnEnterWater()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::OnLeaveWater()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::OnEnterIce()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void Human::OnLeaveIce()
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -356,6 +356,12 @@ private:
|
|||||||
void DoGetOnWithLoot(Loot* loot_entity);
|
void DoGetOnWithLoot(Loot* loot_entity);
|
||||||
void DoGetOnWithCar(Car* car);
|
void DoGetOnWithCar(Car* car);
|
||||||
void CheckSpecObject();
|
void CheckSpecObject();
|
||||||
|
void OnEnterGrass();
|
||||||
|
void OnLeaveGrass();
|
||||||
|
void OnEnterWater();
|
||||||
|
void OnLeaveWater();
|
||||||
|
void OnEnterIce();
|
||||||
|
void OnLeaveIce();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int level_ = 0;
|
int level_ = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user