Esempio n. 1
0
    public ArrayList OnFindPathFromNoWayPointPaths()
    {
        GameObject startPos = GameObject.Find("StartPos");
        GameObject endPos   = GameObject.Find("EndPos");

        Vector3 startPosVec = CUtility.RoundVector3(startPos.transform.position);
        Vector3 endPosVec   = CUtility.RoundVector3(endPos.transform.position);

        CAStar AStar = new CAStar();

        AStar.InitTiles(ref Tiles);
        int StartIdx = (int)(startPosVec.y * Size + startPosVec.x);
        int EndIdx   = (int)(endPosVec.y * Size + endPosVec.x);

        ArrayList InitTiles = AStar.GetTiles();

        PathIdxs = AStar.FindPaths(StartIdx, EndIdx, 0);
        ArrayList PathTiles = new ArrayList();

        for (int i = 0; i < PathIdxs.Count; ++i)
        {
            Tile CurTile = InitTiles[(int)PathIdxs[i]] as Tile;
            PathTiles.Add(CurTile);
        }
        return(PathTiles);
    }