private void BindInputs(InputSet inputSet, PlayerSelectionDummy dummy, bool isController) { object[] paramLeft = new object[2]; paramLeft[0] = -1; paramLeft[1] = dummy; object[] paramRight = new object[2]; paramRight[0] = 1; paramRight[1] = dummy; inputSet.AddInput("left-selection", SetDummySelection, isAxis: isController, parameters: paramLeft); inputSet.AddInput("right-selection", SetDummySelection, isAxis: isController, parameters: paramRight); inputSet.isActive = true; }
private void AddSelectionDummy(InputSet inputSet) { PlayerSelectionDummy dummy = null; if (!dummiesToInputsDictionary.ContainsKey(inputSet)) { dummy = GetUnusedDummy(); dummiesToInputsDictionary.Add(inputSet, dummy.gameObject); } else { dummy = dummiesToInputsDictionary[inputSet].GetComponent <PlayerSelectionDummy>(); } BindInputs(inputSet, dummy, inputSet.isController); dummy.gameObject.SetActive(true); dummy.Possess(); }
void AddPlayer(InputSet inputSet) { bool exists = false; foreach (GameObject p in players) { if (p.GetComponent <CharController>().GetInputs() == inputSet) { exists = true; } } if (!exists) { PlayerSelectionDummy dummy = dummiesToInputsDictionary[inputSet].GetComponent <PlayerSelectionDummy>(); GameObject selectedPlayer = dummy.GetSelectedPlayer(); GameObject createdPlayer = Instantiate(selectedPlayer, dummy.transform.position, Quaternion.identity); players.Add(createdPlayer); inputSet.Clear(); createdPlayer.GetComponent <CharController>().SetInputs(inputSet); dummiesToInputsDictionary[inputSet].SetActive(false); createdPlayer.GetComponent <Character>().SetUI(GetUnusedPlayerUI()); } }
void SetDummySelection(params object[] args) { PlayerSelectionDummy dummy = (PlayerSelectionDummy)args[1]; dummy.SelectedPlayer += (int)args[0]; }