From 6aebffe95b6d341dee29d6681bc0962266078ecb Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 28 Dec 2022 11:11:09 +0800 Subject: [PATCH] 1 --- server/gameserver/creature.cc | 12 ++++-------- server/gameserver/movement.cc | 2 ++ server/gameserver/movement.h | 2 ++ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index fdfe7b0b..c43a0389 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -3178,15 +3178,11 @@ void Creature::UpdateMove() { if (GetMovement()->UpdatePosition()) { } else { -#if 0 - GetMovement()->CalcTargetPos(500); - if (GetMovement()->GetMovePosition(out_pos)) { - a8::Vec2 new_pos; - new_pos.x = out_pos.x; - new_pos.y = out_pos.z; - //SetPos(new_pos); + if (!GetMovement()->IsFindPath()) { + GetMovement()->CalcTargetPos(100); + if (GetMovement()->UpdatePosition()) { + } } -#endif } room->grid_service->MoveCreature(this); CheckSpecObject(); diff --git a/server/gameserver/movement.cc b/server/gameserver/movement.cc index c0ef12df..d9178db5 100644 --- a/server/gameserver/movement.cc +++ b/server/gameserver/movement.cc @@ -20,6 +20,7 @@ bool Movement::UpdatePosition() { if (path_index_ >= paths_.size()) { ClearPath(); + is_find_path_ = false; return false; } MovePathPoint& curr_point = paths_[path_index_]; @@ -269,6 +270,7 @@ void Movement::AddPaths(const a8::Vec3& start, std::vector& paths) paths_.push_back(p); } #endif + is_find_path_ = true; } size_t Movement::GetPathSize() diff --git a/server/gameserver/movement.h b/server/gameserver/movement.h index 2a8cd1b2..751025d7 100644 --- a/server/gameserver/movement.h +++ b/server/gameserver/movement.h @@ -23,9 +23,11 @@ class Movement void ClearPath(); void AddPaths(const a8::Vec3& start, std::vector& paths); size_t GetPathSize(); + bool IsFindPath() { return is_find_path_; } private: std::vector paths_; int path_index_ = 0; Creature* owner_ = nullptr; + bool is_find_path_ = false; };