Example #1
0
        void _controller_KeyControlEngaged(int control)
        {
            KeyMappings.PolarMouseGameControls c = (KeyMappings.PolarMouseGameControls)control;
            var     player         = (Player)ActiveMap.Player;
            Vector2 mouseDirection = (new Vector2(Mouse.GetState().X, Mouse.GetState().Y)) - player.Position;
            var     rad            = mouseDirection.Length();

            mouseDirection.Normalize();

            switch (c)
            {
            case KeyMappings.PolarMouseGameControls.MoveIn:
                PhysicsManager.AddInstantaneousForce(new InstantaneousForce((IRigidBody)player, player.Mass * player.SpeedScale * mouseDirection));
                break;

            case KeyMappings.PolarMouseGameControls.MoveOut:
                PhysicsManager.AddInstantaneousForce(new InstantaneousForce((IRigidBody)player, -player.Mass * player.SpeedScale * mouseDirection));
                break;

            case KeyMappings.PolarMouseGameControls.MoveClockwise:
                var tangentCW = mouseDirection.RotateInPlace(-(float)Math.PI / 2);
                var tangVel   = Vector2.Dot(player.Velocity, tangentCW);
                player.Velocity = tangentCW * tangVel;
                PhysicsManager.AddInstantaneousForce(new InstantaneousForce((IRigidBody)player, player.Mass * player.SpeedScale * tangentCW));
                break;

            case KeyMappings.PolarMouseGameControls.MoveCounterClockwise:
                var tangentCCW = mouseDirection.RotateInPlace((float)Math.PI / 2);
                var tangVelCCW = Vector2.Dot(player.Velocity, tangentCCW);
                player.Velocity = tangentCCW * tangVelCCW;
                PhysicsManager.AddInstantaneousForce(new InstantaneousForce((IRigidBody)player, player.Mass * player.SpeedScale * tangentCCW));
                break;
            }
        }
Example #2
0
        void _controller_KeyControlDisengaged(int control)
        {
            //if (control <= 4)
            //    ((Player)ActiveMap.Player).Velocity = Vector2.Zero;
            KeyMappings.PolarMouseGameControls c = (KeyMappings.PolarMouseGameControls)control;
            var player = (Player)ActiveMap.Player;

            switch (c)
            {
            case KeyMappings.PolarMouseGameControls.MoveIn:

                break;

            case KeyMappings.PolarMouseGameControls.MoveOut:

                break;

            case KeyMappings.PolarMouseGameControls.MoveClockwise:
                player.Velocity /= 2f;
                break;

            case KeyMappings.PolarMouseGameControls.MoveCounterClockwise:
                player.Velocity /= 2f;
                break;
            }
        }
Example #3
0
        void keyController_KeyControlJustEngaged(int control)
        {
            KeyMappings.PolarMouseGameControls c = (KeyMappings.PolarMouseGameControls)control;

            //switch (c)
            //{
            //    case KeyMappings.PolarMouseGameControls.Shoot:
            //        var charge = playerProfile.ReleaseCharge(0);
            //        if (charge == null)
            //            this.Write("No Charges Left!");
            //        else
            //        {
            //            releaseItem(charge);
            //            this.Write("Charges Left: {0}", playerProfile.ChargesLeft);
            //        }
            //        break;
            //    case KeyMappings.PolarMouseGameControls.ThrowSensor:
            //        var sensor = playerProfile.ReleaseSensor(0);
            //        if (sensor == null)
            //            this.Write("No Sensors Left!");
            //        else
            //        {
            //            releaseItem(sensor);
            //            this.Write("Sensors Left: {0}", playerProfile.SensorsLeft);
            //        }
            //        break;
            //    case KeyMappings.PolarMouseGameControls.BlastCharges:
            //        var objclone = new List<WorldObject>(ActiveMap.WorldObjects);
            //        foreach (var obj in objclone)
            //        {
            //            if (obj is DeviceCarrierActor)
            //            {
            //                var devs = ((DeviceCarrierActor)obj).GetDevices();
            //                foreach (var d in devs)
            //                {
            //                    if (d is Charge) ((Charge)d).Detonate();
            //                }
            //            }
            //        }
            //        break;
            //    default:
            //        break;
            //}
        }