From 520b305dd91ba067a2f9182e6ae863b3147166ed Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期一, 29 四月 2019 15:02:42 +0800
Subject: [PATCH] 382 跳跃点寻路逻辑修改
---
Fight/Stage/MapEditor/Game/ClientSceneManager.cs | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/Fight/Stage/MapEditor/Game/ClientSceneManager.cs b/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
index fc55864..aedf25b 100644
--- a/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
+++ b/Fight/Stage/MapEditor/Game/ClientSceneManager.cs
@@ -266,9 +266,15 @@
private List<MapTrasfer> m_ChkedList = new List<MapTrasfer>();
private List<MapTrasfer> m_ChkedList1 = new List<MapTrasfer>();
private int count = 0;
+ // 鏄惁宸茬粡鎵惧埌浜嗕竴涓彲浠ョЩ鍔ㄥ埌鐩爣鐨勭偣
+ // 鍥犱负鍙兘瀛樺湪澶氫釜, 杩欓噷鍔犱竴涓爣璇�,鍙互鍦ㄦ璺笉閫氱殑鏃跺�欏彟瀵讳粬璺�
+ private bool hasFindWalkable = false;
+ private Vector3 m_DestPos;
public Vector3 GetTransPoint(Vector3 start, Vector3 next)
{
count = 0;
+ hasFindWalkable = false;
+ m_DestPos = next;
m_ChkedList.Clear();
return GetNext(start, next);
@@ -470,7 +476,6 @@
var _tp = _t.transferPoints[i];
if (PathFinder.WalkAble(next, _tp.position))
{
- //Debug.Log("_tp.position : " + _tp.position);
if (i == 0)
{
_targetPos = _t.transferPoints[_t.transferPoints.Length - 1].position;
@@ -486,6 +491,7 @@
}
if (_targetPos != Vector3.zero)
{
+ hasFindWalkable = true;
break;
}
}
@@ -496,7 +502,15 @@
}
else
{
- _targetPos = GetNext(start, _targetPos);
+ if (hasFindWalkable)
+ {
+ hasFindWalkable = false;
+ _targetPos = GetNext(start, m_DestPos);
+ }
+ else
+ {
+ _targetPos = GetNext(start, _targetPos);
+ }
}
//Debug.Log("_targetPos: " + _targetPos);
--
Gitblit v1.8.0