/** * Assigns the initial control inputs to the players */ void InitialisePlayers() { settings.players = new List <PlayerSettings>(); skins = new SkinIndexs[4]; for (int i = 0; i < 4; i++) { skins [i] = new SkinIndexs(0, 0, 0); } int c = 0; // controller number string[] controllers = Input.GetJoystickNames(); // There are always 3 keyboard players, the fourth only exists if there are one or more controllers settings.playerCount = 3 + Mathf.Min(controllers.Length, 1); // Add all player settings to player settings list for (int i = 0; i < 3; i++) { settings.players.Add(new PlayerSettings(InputType.Keyboard, i, i + 1, skins[i])); } for (int i = 3; i < settings.playerCount; i++) { // Ensure we're adding a valid controller while (controllers[c++] == null) { ; } settings.players.Add(new PlayerSettings(InputType.Controller, i, c, skins[i])); } }
public PlayerSettings(InputType input, int pid, int inputid, SkinIndexs indices) { if (input == InputType.Controller) { this.controllerID = inputid; this.keyboardID = -1; } else if (input == InputType.Keyboard) { this.keyboardID = inputid; this.controllerID = -1; } this.input = input; this.playerID = pid; this.indices = indices; }
public void PopulateSkin(int playerNumber, SkinIndexs indices) { skins [playerNumber] = indices; }