コード例 #1
0
ファイル: CEPathFind.cs プロジェクト: flycodes/cepathfind
        /// <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);
        }
コード例 #2
0
    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);
    }