예제 #1
0
        private WorldPath FinalizedPath(int lastTile)
        {
            WorldPath emptyWorldPath = Find.WorldPathPool.GetEmptyWorldPath();
            int       num            = lastTile;

            for (;;)
            {
                int parentTile = calcGrid[num].parentTile;
                int num2       = num;
                emptyWorldPath.AddNodeAtStart(num2);
                if (num2 == parentTile)
                {
                    break;
                }
                num = parentTile;
            }
            emptyWorldPath.SetupFound(calcGrid[lastTile].knownCost);
            return(emptyWorldPath);
        }
예제 #2
0
        private WorldPath FinalizedPath(int lastTile)
        {
            WorldPath emptyWorldPath = Find.WorldPathPool.GetEmptyWorldPath();
            int       num            = lastTile;

            while (true)
            {
                WorldShipPathFinder.PathFinderNodeFast pathFinderNodeFast = this.calcGrid[num];
                int parentTile = pathFinderNodeFast.parentTile;
                int num2       = num;
                emptyWorldPath.AddNodeAtStart(num2);
                if (num2 == parentTile)
                {
                    break;
                }
                num = parentTile;
            }
            emptyWorldPath.SetupFound((float)this.calcGrid[lastTile].knownCost);
            return(emptyWorldPath);
        }