void OnMouseClicked(object sender, MouseButtonEventArgs e)
{
var pos = e.GetPosition(this);
var ml = ScreenPointToMapLocation(pos);
if (!m_map.Bounds.Contains(ml))
{
Console.Beep();
return;
}
if (e.ChangedButton == MouseButton.Left)
{
if (m_state == 0 || m_state == 3)
{
m_from = ml;
m_state = 1;
ClearMap();
}
else
{
m_to = ml;
DoAStar(m_from, ml);
m_state = 3;
}
}
else if (e.ChangedButton == MouseButton.Right)
{
// XXX doesn't work, tilecontrol only sends left button
m_removing = m_map.GetBlocked(ml);
m_map.SetBlocked(ml, !m_removing);
InvalidateTileData();
}
}