AStarTest.MapControl.OnMouseClicked C# (CSharp) Method

OnMouseClicked() private method

private OnMouseClicked ( object sender, MouseButtonEventArgs e ) : void
sender object
e MouseButtonEventArgs
return void
        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();
            }
        }