public void TryChangeTile(Tile Tile, Tile.TileType Type) { //May I change tile? if (Tile.Type == Tile.TileType.Border) { Log.Instance.AddToQueue("You can't edit the border tiles! :'("); return; } //Is the changing type end or start if (Type == Tile.TileType.Start) { if (StartTile != null) { StartTile.ChangeType(Tile.TileType.Walkable); } StartTile = Tile; StartTile.ChangeType(Tile.TileType.Start); return; } else if (Type == Tile.TileType.End) { if (EndTile != null) { EndTile.ChangeType(Tile.TileType.Walkable); } EndTile = Tile; EndTile.ChangeType(Tile.TileType.End); return; } //Is the tile the end or start if (Tile.Type == Tile.TileType.Start) { StartTile = null; } else if (Tile.Type == Tile.TileType.End) { EndTile = null; } //Change Tile.ChangeType(Type); }