Esempio n. 1
0
        private void MapForm_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                if (_formState == FormState.ADD_HUMAN_INIT)
                {
                    Point mouseClick = new Point(e.X - _mapDrawer.BoardXOffset, e.Y - _mapDrawer.BoardYOffset);
                    Hex   clickedHex = _map.FindHexMouseClick(mouseClick);

                    if (false == _map.MapState.IsObstacle(clickedHex))
                    {
                        _human.SetInitPos(new HexaPos(clickedHex.posX, clickedHex.posY));

                        _formState = FormState.GENERATING_HUMANPATH;
                        _map.MapState.ActiveHex = clickedHex;

                        _human.hexSetIdx = _map.MapState.CreateHexSet();
                        HexSet hexSet = _map.MapState.GetHexSet(_human.hexSetIdx);
                        hexSet.borderColor = Color.Blue;
                    }
                }
                else if (_formState == FormState.EDIT_OBSTACLE)
                {
                    Point mouseClick = new Point(e.X - _mapDrawer.BoardXOffset, e.Y - _mapDrawer.BoardYOffset);
                    Hex   clickedHex = _map.FindHexMouseClick(mouseClick);

                    _map.MapState.AddObstalce(clickedHex);
                }
            }
            Refresh();
        }
Esempio n. 2
0
        private void SimTestForm_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                Point mouseClick = new Point(e.X - _mapDrawer.BoardXOffset, e.Y - _mapDrawer.BoardYOffset);
                Hex   clickedHex = _map.FindHexMouseClick(mouseClick);

                //_map.MapState.ActiveHex = clickedHex;

                if (clickedHex != null)
                {
                    if (_human.path.Length == 0)
                    {
                        _human.hexSetIdx = _map.MapState.CreateHexSet();
                    }

                    _human.path.AddPos(new HexaPos(clickedHex.posX, clickedHex.posY));

                    HexSet hexSet = _map.MapState.GetHexSet(_human.hexSetIdx);
                    hexSet.borderColor = Color.Blue;
                    hexSet.hexSet.Add(clickedHex);
                }
            }
            else
            {
                _map.MapState.ActiveHex = null;
            }
            Refresh();
        }
Esempio n. 3
0
        private void mapViewPanel_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                if (this.planMode == MapViewForm.PathPlanMode.MIN_DIST)
                {
                    // pop to choose "complete" or "cancel"
                    this.cmsAddPoint.Show(this.Left + e.X, this.Top + e.Y);
                    this.currentCursorX = e.X;
                    this.currentCursorY = e.Y;
                }
                else
                {
                    Point mouseClick = new Point(e.X - mapDrawer.BoardXOffset, e.Y - mapDrawer.BoardYOffset);
                    Hex   clickedHex = map.FindHexMouseClick(mouseClick);

                    this.startHex          = clickedHex;
                    map.MapState.ActiveHex = clickedHex;
                    Refresh();
                }
            }
        }
Esempio n. 4
0
        private void mapViewPanel_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                if (this.appMode == MapViewForm.AppMode.PLANNING)
                {
                    if (this.planMode == MapViewForm.PathPlanMode.MIN_DIST)
                    {
                        // pop to choose "complete" or "cancel"
                        this.cmsAddPoint.Show(this.Left + e.X, this.Top + e.Y);
                        this.currentCursorX = e.X;
                        this.currentCursorY = e.Y;
                    }
                    else
                    {
                        Point mouseClick = new Point(e.X - mapDrawer.BoardXOffset, e.Y - mapDrawer.BoardYOffset);
                        Hex   clickedHex = map.FindHexMouseClick(mouseClick);

                        this.startHex          = clickedHex;
                        map.MapState.ActiveHex = clickedHex;
                        Refresh();
                    }
                }
                else if (this.appMode == MapViewForm.AppMode.ADD_HUMAN)
                {
                    Point mouseClick = new Point(e.X - mapDrawer.BoardXOffset, e.Y - mapDrawer.BoardYOffset);
                    Hex   clickedHex = map.FindHexMouseClick(mouseClick);

                    human = new Human(map);
                    human.SetInitPos(new HexaPos(clickedHex.posX, clickedHex.posY));
                    human.hexSetIdx = map.MapState.CreateHexSet();
                    HexSet hexSet = map.MapState.GetHexSet(human.hexSetIdx);
                    hexSet.borderColor = Color.Black;
                }
            }
            Refresh();
        }