示例#1
0
        private void Event_MapMouseMove(object sender, MouseEventArgs e)
        {
            var mouseScreenCoordinates = OutlandAreaCommon.Tools.ToRelativeCoordinates(e.Location, _screenParameters.Center);

            var mouseMapCoordinates = OutlandAreaCommon.Tools.ToTacticalMapCoordinates(mouseScreenCoordinates, _screenParameters.CenterScreenOnMap);

            var celestialObjectInRange = SessionTools.GetObjectInRange(_gameSession, 15, new PointF(mouseMapCoordinates.X, mouseMapCoordinates.Y));

            MouseMoveCelestialObject = celestialObjectInRange?.DeepClone();
        }
示例#2
0
        private void MapMouseMove(object sender, MouseEventArgs e)
        {
            Logger.Debug(TraceMessage.Execute(this, $"MapMouseMove]"));

            mouseCoordinates = e.Location;

            var mouseCoordinatesInternal = OutlandAreaCommon.Tools.ToRelativeCoordinates(e.Location, _screenParameters.Center);

            var mouseMapCoordinates = OutlandAreaCommon.Tools.ToTacticalMapCoordinates(mouseCoordinatesInternal, _screenParameters.CenterScreenOnMap);

            var celestialObjectInRange = SessionTools.GetObjectInRange(_gameSession, 15, new PointF(mouseMapCoordinates.X, mouseMapCoordinates.Y));

            MouseMoveCelestialObject = celestialObjectInRange?.DeepClone();
        }
示例#3
0
        private void MapClick(object sender, MouseEventArgs e)
        {
            var mouseScreenCoordinates = OutlandAreaCommon.Tools.ToRelativeCoordinates(e.Location, _screenParameters.Center);

            var mouseMapCoordinates = OutlandAreaCommon.Tools.ToTacticalMapCoordinates(mouseScreenCoordinates, _screenParameters.CenterScreenOnMap);

            var celestialObjectInRange = SessionTools.GetObjectInRange(_gameSession, 15, new PointF(mouseMapCoordinates.X, mouseMapCoordinates.Y));

            //PointInSpace = new Point(0, 0);

            if (celestialObjectInRange != null)
            {
                Global.Game.SelectCelestialObject(celestialObjectInRange);
            }
            else
            {
                Global.Game.SelectPointInSpace(mouseMapCoordinates);
                //PointInSpace = mouseMapCoordinates;
            }
        }
示例#4
0
        private void MapClick(object sender, MouseEventArgs e)
        {
            var mouseScreenCoordinates = OutlandAreaCommon.Tools.ToRelativeCoordinates(e.Location, _screenParameters.Center);

            var mouseMapCoordinates = OutlandAreaCommon.Tools.ToTacticalMapCoordinates(mouseScreenCoordinates, _screenParameters.CenterScreenOnMap);

            var celestialObjectInRange = SessionTools.GetObjectInRange(_gameSession, 15, new PointF(mouseMapCoordinates.X, mouseMapCoordinates.Y));


            switch (_activeModule)
            {
            case CelestialObjectTypes.PointInMap:
                break;

            case CelestialObjectTypes.Missile:
                if (e.Button == MouseButtons.Right)
                {
                    _activeModule = CelestialObjectTypes.None;
                    return;
                }

                if (e.Button == MouseButtons.Left)
                {
                    _activeCelestialObject.PositionX = mouseMapCoordinates.X;
                    _activeCelestialObject.PositionY = mouseMapCoordinates.Y;

                    _activeModule = CelestialObjectTypes.None;

                    OnLaunchMissile?.Invoke(_activeCelestialObject);
                    return;
                }

                break;

            case CelestialObjectTypes.SpaceshipPlayer:
                break;

            case CelestialObjectTypes.SpaceshipNpcNeutral:
                break;

            case CelestialObjectTypes.SpaceshipNpcEnemy:
                break;

            case CelestialObjectTypes.SpaceshipNpcFriend:
                break;

            case CelestialObjectTypes.Asteroid:
                break;

            case CelestialObjectTypes.None:
                _connectorsShow = new List <ICelestialObject>();
                break;
            }



            Logger.Info(TraceMessage.Execute(this, $"MapClick"));

            //if (e.Button == MouseButtons.Right)
            //{
            //    AlignToCommand(null, e);
            //    return;
            //}


            if (celestialObjectInRange != null)
            {
                Global.Game.SelectCelestialObject(celestialObjectInRange);
            }
            else
            {
                // Movement by mouse click
                //Global.Game.SelectPointInSpace(mouseMapCoordinates);
            }

            //pointInSpace = mouseMapCoordinates;
        }