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); }