1
This commit is contained in:
commit
a1c661444d
@ -2907,11 +2907,35 @@ void Creature::UnSetBuffTag(int tag)
|
|||||||
buff_tags_.erase(tag);
|
buff_tags_.erase(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Creature::ShotFindPath()
|
void Creature::ShortFindPath()
|
||||||
{
|
{
|
||||||
if (std::abs(GetMoveDir().x) > FLT_EPSILON ||
|
if (std::abs(GetMoveDir().x) > FLT_EPSILON ||
|
||||||
std::abs(GetMoveDir().z) > FLT_EPSILON
|
std::abs(GetMoveDir().z) > FLT_EPSILON
|
||||||
) {
|
) {
|
||||||
|
#if 1
|
||||||
|
auto try_move =
|
||||||
|
[this] (glm::vec3 start, glm::vec3 end,
|
||||||
|
bool& block, glm::vec3& new_point, float& distance)
|
||||||
|
{
|
||||||
|
room->map_instance->Scale(start);
|
||||||
|
room->map_instance->Scale(end);
|
||||||
|
|
||||||
|
glm::vec3 hit_point;
|
||||||
|
bool hit_result = false;
|
||||||
|
bool ret = room->map_instance->Raycast(start, end, hit_point, hit_result);
|
||||||
|
if (ret) {
|
||||||
|
} else {
|
||||||
|
block = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
glm::vec3 start_pos = GetPos().ToGlmVec3() + GetMoveDir() * -1.0f * 2.0f;
|
||||||
|
for (float angle = 30.0f; angle < 90.0f; angle += 30.0f) {
|
||||||
|
glm::vec3 move_dir = GetMoveDir();
|
||||||
|
GlmHelper::RotateY(move_dir, angle);
|
||||||
|
glm::vec3 end_pos = start_pos + move_dir * 80.0f;
|
||||||
|
}
|
||||||
|
#else
|
||||||
auto try_move =
|
auto try_move =
|
||||||
[this] (glm::vec3& new_move_dir, bool& block, glm::vec3& new_point, float& distance)
|
[this] (glm::vec3& new_move_dir, bool& block, glm::vec3& new_point, float& distance)
|
||||||
{
|
{
|
||||||
@ -2970,6 +2994,7 @@ void Creature::ShotFindPath()
|
|||||||
GetMutablePos().FromGlmVec3(left_new_point);
|
GetMutablePos().FromGlmVec3(left_new_point);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,7 +327,7 @@ class Creature : public MoveableEntity
|
|||||||
int GetBuffTag(int tag);
|
int GetBuffTag(int tag);
|
||||||
void IncBuffTag(int tag, int val);
|
void IncBuffTag(int tag, int val);
|
||||||
void UnSetBuffTag(int tag);
|
void UnSetBuffTag(int tag);
|
||||||
void ShotFindPath();
|
void ShortFindPath();
|
||||||
float GetSkillRaycastDistance();
|
float GetSkillRaycastDistance();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user