private void panel33_MouseDown(object sender, MouseEventArgs e)
{
Tile tile = tileMap.GetTileFromPanel((Panel)sender);
bool startTile = false;
bool goalTile = false;
for (int i = 0; i < tileMap.Tiles.Count; i++)
{
if (!startTile && tileMap.Tiles[i].IsStart())
startTile = true;
if (!goalTile && tileMap.Tiles[i].IsGoal())
goalTile = true;
if (startTile && goalTile)
{
findPathBtn.Enabled = true;
break;
}
}
if (tile.TileType == TileType.Walkable)
tile.SetTileType(TileType.Blocked);
else if (tile.TileType == TileType.Blocked)
{
if (startTile)
{
if (goalTile)
{
tile.SetTileType(TileType.Walkable);
}
else
{
tile.SetTileType(TileType.Goal);
goalTile = true;
}
}
else
{
tile.SetTileType(TileType.Start);
startTile = true;
}
}
else if (tile.TileType == TileType.Start)
{
if (goalTile)
{
tile.SetTileType(TileType.Walkable);
goalTile = false;
}
else
{
tile.SetTileType(TileType.Goal);
goalTile = true;
}
startTile = false;
}
else if (tile.TileType == TileType.Goal)
{
tile.SetTileType(TileType.Walkable);
goalTile = false;
}
else
tile.SetTileType(TileType.Blocked);
findPathBtn.Enabled = (startTile && goalTile);
if (findPathBtn.Enabled)
{
//ExecuteAStar();
}
}