public bool Move(Directions dir) { if (CurrTile.hasPath(dir)) { switch (dir) { case Directions.North: return(Move(CurrTile.Y - 1, CurrTile.X)); case Directions.Northeast: return(Move(CurrTile.Y - 1, CurrTile.X - 1)); case Directions.East: return(Move(CurrTile.Y, CurrTile.X - 1)); case Directions.Southeast: return(Move(CurrTile.Y + 1, CurrTile.X - 1)); case Directions.South: return(Move(CurrTile.Y + 1, CurrTile.X)); case Directions.Southwest: return(Move(CurrTile.Y + 1, CurrTile.X + 1)); case Directions.West: return(Move(CurrTile.Y, CurrTile.X + 1)); case Directions.Northwest: return(Move(CurrTile.Y - 1, CurrTile.X + 1)); } return(true); } return(false); }