示例#1
0
文件: Unit.cs 项目: zdawson/Marooned
        public bool MoveToCell(Cell c)
        {
            if (Tile.Cell == c) return true;

            var tOptimal = c.TileAdjacent(Tile.Cell, Tile.Position);
            if (tOptimal == null) return false;

            var nNearest = Pathfind.FindNearest(tOptimal, t2 => t2.Traversable, Pathfind.Traversable.Penalise);
            if (nNearest == null) return false;

            Tile = nNearest.Data;
            return true;
        }