public static void CreateInputMappings(ControllerMenuSetup setup) { List <LocalPlayerInput> inputs = new List <LocalPlayerInput> (8); int playerNumber = 0; numOfPlayers = 0; for (int i = 0; i < setup.ctrls.Count; i++) { ControllerSelector ctrl = setup.ctrls [i]; if (!ctrl.ctrlData.active) { continue; } if (ctrl.GetNumPlayersOnController() == 1) { inputs.Add(new LocalPlayerInput(playerNumber, ctrl.ctrlData.number, ControllerType.full)); numOfPlayers += 1; } else if (ctrl.GetNumPlayersOnController() == 2) { inputs.Add(new LocalPlayerInput(playerNumber, ctrl.ctrlData.number, ControllerType.left)); inputs.Add(new LocalPlayerInput(++playerNumber, ctrl.ctrlData.number, ControllerType.right)); numOfPlayers += 2; } else { Debug.LogError("MORE THAN 2 PEOPLE ON CONTROLLER " + i); } playerNumber++; } playerInputMapping = inputs.ToArray(); }
public static Vector2 GetMovement(ControllerSelector playerData) { float x = 0; float y = 0; switch (playerData) { case ControllerSelector.KEYBOARD_LEFT: if (Input.GetKey(KeyCode.A)) { x = -1; } else if (Input.GetKey(KeyCode.D)) { x = 1; } if (Input.GetKey(KeyCode.W)) { y = 1; } else if (Input.GetKey(KeyCode.S)) { y = -1; } break; case ControllerSelector.KEYBOARD_RIGHT: if (Input.GetKey(KeyCode.LeftArrow)) { x = -1; } else if (Input.GetKey(KeyCode.RightArrow)) { x = 1; } if (Input.GetKey(KeyCode.UpArrow)) { y = 1; } else if (Input.GetKey(KeyCode.DownArrow)) { y = -1; } break; case ControllerSelector.JOYSTICK_FIRST: x = Input.GetAxisRaw("Horizontal1"); y = Input.GetAxisRaw("Vertical1"); break; case ControllerSelector.JOYSTICK_SECOND: x = Input.GetAxisRaw("Horizontal2"); y = Input.GetAxisRaw("Vertical2"); break; } return(new Vector2(x, y)); }
void UpdateGraphics() { playerNumDisplayText.text = PlayerInputs.GetLocalPlayerCount().ToString(); controllerNumDisplayText.text = PlayerInputs.GetActiveControllers().ToString(); // keep number of input panels the same as total controllers if (totalControllers != PlayerInputs.GetTotalControllers()) { totalControllers = PlayerInputs.GetTotalControllers(); for (int i = ctrls.Count; i < totalControllers; i++) { GameObject newObj = Instantiate(ctrlPrefab, Vector3.zero, Quaternion.identity); ControllerSelector selector = newObj.GetComponent <ControllerSelector> (); ctrls.Add(selector); } } // update the appropriate panels based off active controllers if (controllerCount != PlayerInputs.GetActiveControllers()) { ControllerData[] controllerData = PlayerInputs.GetControllerData(); // set controller data to panels controllerCount = PlayerInputs.GetActiveControllers(); for (int i = 0; i < controllerData.Length; i++) { if (controllerData [i].active) { ctrls [i].SetControllerData(controllerData [i]); } else { ctrls [i].gameObject.SetActive(false); } } // reset the cursor sharedCursor.FindNewSelectable(); int numGaps = controllerCount - 1; Vector2 totalSize = ctrlGuiSize * controllerCount + numGaps * gap; Vector2 midPoint = totalSize / 2; Vector2 farLeft = -midPoint + (ctrlGuiSize / 2); farLeft.x += Display.main.renderingWidth / 2; farLeft.y += Display.main.renderingHeight / 2; newCtrlTime = Time.time; Vector2 nextPos = farLeft; for (int i = 0; i < controllerData.Length; i++) { if (!controllerData [i].active) { continue; } ctrls [i].SetDesiredPos(nextPos); nextPos += gap + ctrlGuiSize; } } }
public bool isPrimary() { ControllerManager manager = ControllerSelector.getInputManager(); if (manager.getPrimaryController().gameObject == gameObject) { return(true); } return(false); }
void OnTriggerEnter2D(Collider2D coll) { if (coll.gameObject.tag == "ControllerSelector") { ControllerSelector selector = coll.gameObject.GetComponent <ControllerSelector>(); ControlManager.setPlayerDevice(selector.player_num, selector.device); ++players_set; Destroy(coll.gameObject); } }
// check si la manette qui donne un retour est déjà assignée bool slotAvailable(int controllerId) { Controller360[] controls = ControllerSelector.getInputManager().getControllers(); for (int i = 0; i < controls.Length; i++) { if (controls[i] != null) { if (controls[i].controllerId == controllerId) { return(false); } } } return(true); }
public static bool GetPush(ControllerSelector playerData) { switch (playerData) { case ControllerSelector.KEYBOARD_LEFT: return(Input.GetKey(KeyCode.G)); case ControllerSelector.KEYBOARD_RIGHT: return(Input.GetKey(KeyCode.KeypadPlus)); case ControllerSelector.JOYSTICK_FIRST: return(Input.GetKey(KeyCode.Joystick1Button1)); case ControllerSelector.JOYSTICK_SECOND: return(Input.GetKey(KeyCode.Joystick2Button1)); default: return(false); } }
void Start() { manager = ControllerSelector.getInputManager(); if (manager == null) { Debug.LogError("no input manager ?"); } controls = manager.getControllers(); style = new GUIStyle(); style.normal.textColor = Color.red; style.fontStyle = FontStyle.Bold; #if !UNITY_EDITOR visible = false; #endif //KeyManager.subscribeKey(KeyCode.I, "controller_test", onToggle).setupDescription("afficher les infos manette"); }
private void Start() { selector = Instantiate(selector); }
public void setProperty(ControllerSelector selected) { this.controllerSelecte = selected; }
protected void event__controllerPlugged() { ControllerSelector.getInputManager().event__controllerPlugged(getControllerId()); }
protected void event__controllerUnplugged() { ControllerSelector.getInputManager().event__controllerUnplugged(getControllerId()); GameObject.DestroyImmediate(gameObject); }