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