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