/// <summary> /// 一次性返回搜索结果,用于小图搜索 /// </summary> public static CEPathFindResult FindPath(int _starTileX, int _starTileY, int _endTileX, int _endTileY, CEPathFindMapAgent _findEngine) { if (mShareAgent == null) { mShareAgent = new CEPathFindAgent(); } mShareAgent.Reset(_findEngine, _starTileX, _starTileY, _endTileX, _endTileY); CEPathFindResult result = null; var isFinish = false; var searchTime = 0; while (!isFinish) { mShareAgent.TickSearch(out isFinish, out result); searchTime++; if (searchTime >= MAX_SEARCH_TIME && !isFinish) { isFinish = true; result = new CEPathFindResult { isHavePath = false }; Debug.LogError("Reach CEPathFind max loop"); mShareAgent.DebugOutput(); } } return(result); }
public static CEPathFindResult FindPath(int _starTileX, int _starTileY, int _endTileX, int _endTileY, CEPathFindBasic _findEngine) { if (mShareAgent == null) { mShareAgent = new CEPathFindAgent(); } mShareAgent.Reset(_findEngine, _starTileX, _starTileY, _endTileX, _endTileY); CEPathFindResult result = null; bool isFinish = false; while (!isFinish) { mShareAgent.TickSearch(out isFinish, out result); } return(result); }