From 5669d2d156d7fe456d4274559196384a8517f2e0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 11 Jun 2019 09:24:50 +0800 Subject: [PATCH] add walk zone --- server/gameserver/human.h | 4 ++++ server/gameserver/player.cc | 7 ------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/server/gameserver/human.h b/server/gameserver/human.h index dc55c47..93bb046 100644 --- a/server/gameserver/human.h +++ b/server/gameserver/human.h @@ -29,6 +29,7 @@ enum HumanStatus struct xtimer_list; class CircleCollider; +class AabbCollider; class Obstacle; class Human : public Entity { @@ -219,6 +220,9 @@ protected: std::set observers_; Human* follow_target_ = nullptr; bool follow_synced_active_player = false; + AabbCollider* walk_zone = nullptr; + std::set seen_colliders; + ColliderComponent* last_collider = nullptr; private: CircleCollider* self_collider_ = nullptr; diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index e7bf192..fbef4ac 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -120,17 +120,10 @@ void Player::UpdateMove() pos = pos + move_dir; if (IsCollision()) { pos = old_pos; - #if 1 FindPath(); if (rand() % 3 == 0) { i += 1; } - #else - if (i == 0) { - FindPath(); - } - break; - #endif } room->grid_service.MoveHuman(this); }