public HalfPadState(ControlSide side, PlayerIndex controllerIndex) { GamePadState gamePadState = GamePad.GetState(controllerIndex); if (side == ControlSide.left) { stick1 = new Stick(gamePadState.ThumbSticks.Left); stick2 = new Stick(gamePadState.DPad.Up, gamePadState.DPad.Down, gamePadState.DPad.Left, gamePadState.DPad.Right); Btn1 = gamePadState.Buttons.LeftShoulder; Btn2 = (gamePadState.Triggers.Left < Controller.deadZone) ? ButtonState.Released : ButtonState.Pressed; //TODO: test Btn2AsTrigger = gamePadState.Triggers.Left; Btn3 = gamePadState.Buttons.LeftStick; BtnStart = gamePadState.Buttons.Back; } else //if (side == ControlSide.right) { stick1 = new Stick(gamePadState.ThumbSticks.Right); stick2 = new Stick(gamePadState.Buttons.Y, gamePadState.Buttons.A, gamePadState.Buttons.X, gamePadState.Buttons.B); Btn1 = gamePadState.Buttons.RightShoulder; Btn2 = (gamePadState.Triggers.Right < Controller.deadZone) ? ButtonState.Released : ButtonState.Pressed; //TODO: test Btn2AsTrigger = gamePadState.Triggers.Right; Btn3 = gamePadState.Buttons.RightStick; BtnStart = gamePadState.Buttons.Start; } }
public bool reassign() { for (int j = 0; j < maxControllers * 2; j++) { Console.WriteLine("j = " + j); int i = (j * 2) % ((maxControllers * 2 - 1) + j / (maxControllers * 2 - 1)); //magic if (i >= connectedControllers() * 2) { if (j < maxControllers) { j = maxControllers - 1; continue; } else { Console.WriteLine("Insufficient controllers! Player " + playerNum + " will not work!"); enabled = false; return(false); } } if ((1 << i).isAvailable()) { controllerIndex = intToPlayerIndex[(i / 2) + 1]; if ((i % 2) == 0) { side = ControlSide.left; } else { side = ControlSide.right; fullControllerAvailable = false; halfControllers.First(x => x.controllerCode == (ControllerCodes)((int)controllerCode >> 1)) .fullControllerAvailable = false; } assign((ControllerCodes)(1 << i)); return(true); } } if (!GamePad.GetState(controllerIndex).IsConnected) { Console.WriteLine("Warning: Player " + playerNum + " is disconnected."); } return(false); }
public HalfPadState(ControlSide side, PlayerIndex controllerIndex) { //SharpDX.XInput.Controller c; //var s = c.GetState(); //var gp = s.Gamepad; //gp. GamePadState gamePadState = GamePad.GetState(controllerIndex); if (side == ControlSide.left) { stick1 = new Stick(gamePadState.ThumbSticks.Left); stick2 = new Stick(gamePadState.DPad.Up, gamePadState.DPad.Down, gamePadState.DPad.Left, gamePadState.DPad.Right); Btn1 = gamePadState.Buttons.LeftShoulder; Btn2 = (gamePadState.Triggers.Left < Controller.deadZone) ? ButtonState.Released : ButtonState.Pressed; //TODO: test Btn2AsTrigger = gamePadState.Triggers.Left; Btn3 = gamePadState.Buttons.LeftStick; BtnStart = gamePadState.Buttons.Back; } else //if (side == ControlSide.right) { stick1 = new Stick(gamePadState.ThumbSticks.Right); stick2 = new Stick(gamePadState.Buttons.Y, gamePadState.Buttons.A, gamePadState.Buttons.X, gamePadState.Buttons.B); Btn1 = gamePadState.Buttons.RightShoulder; Btn2 = (gamePadState.Triggers.Right < Controller.deadZone) ? ButtonState.Released : ButtonState.Pressed; //TODO: test Btn2AsTrigger = gamePadState.Triggers.Right; Btn3 = gamePadState.Buttons.RightStick; BtnStart = gamePadState.Buttons.Start; } }
public bool reassign() { for (int j = 0; j < maxControllers*2; j++) { Console.WriteLine("j = " + j); int i = (j * 2) % ((maxControllers*2 - 1) + j / (maxControllers*2 - 1)); //magic if (i >= connectedControllers() * 2) { if (j < maxControllers) { j = maxControllers - 1; continue; } else { PopUp.Toast("Insufficient controllers! Player " + playerNum + " will not work!"); enabled = false; return false; } } if ((1 << i).isAvailable()) { controllerIndex = intToPlayerIndex[(i / 2) + 1]; if ((i % 2) == 0) { side = ControlSide.left; } else { side = ControlSide.right; fullControllerAvailable = false; halfControllers.First(x => x.controllerCode == (ControllerCodes)((int)controllerCode >> 1)).fullControllerAvailable = false; } assign((ControllerCodes)(1 << i)); return true; } } if (!GamePad.GetState(controllerIndex).IsConnected) PopUp.Toast("Warning: Player " + playerNum + " is disconnected."); return false; }
protected override void Initialize() { this.Dock = DockStyle.Fill; //Init camera and dimensions this.worldDimensions = new Rectangle(0, 0, this.Width, this.Height); previousScroll = Mouse.GetState().ScrollWheelValue; zoomIncrement = 0.01f; camera = new Camera(GraphicsDevice.Viewport, (int)worldDimensions.Width * worldSizeMultiplier, (int)worldDimensions.Height * worldSizeMultiplier, 1f); numOfMasses = 80; ContentManager content = new ContentManager(Services); content.RootDirectory = "Content"; massTexture = content.Load <Texture2D>("Image1"); selectedTexture = content.Load <Texture2D>("selectedRing"); spriteBatch = new SpriteBatch(GraphicsDevice); selectedMass = null; lastLMouse = Microsoft.Xna.Framework.Input.ButtonState.Released; lastRMouse = Microsoft.Xna.Framework.Input.ButtonState.Released; //area selection startVector = new Vector2(); //group list objectGroupList = new List <ObjectGroup>(); // Start the animation timer. timer = new Timer(); timer.Interval = 1; timer.Tick += Tick; timer.Start(); //create simulation springSim = new Simulation(this); springSim.Stiffness = stiffness; springSim.Damping = damping; springSim.Length = 10f; springSim.MassPerString = numOfMasses; stringLists = new List <SimString>(); //add forces gravity = new Gravity(new Vector2(0f, 9.81f)); springSim.AddGlobalForceGenerator(gravity); air = new Medium(0.5f); springSim.AddGlobalForceGenerator(air); barrier = new ControlSide(new Rectangle(worldDimensions.X, worldDimensions.Y, worldDimensions.Width * worldSizeMultiplier, worldDimensions.Height * worldSizeMultiplier)); springSim.AddGlobalForceGenerator(barrier); //add integrator integrator = new ForwardEulerIntegrator(this); springSim.Integrator = integrator; parentForm.saveState(); }