private void Update() { const float buttonThreshold = 1f / 3f; ReInput.PlayerHelper playerHelper = ReInput.players; int playerCount = playerHelper.playerCount; for (int i = 0; i < playerCount; ++i) { Player player = playerHelper.GetPlayer(i); float hAxis = player.GetAxis("MoveHorizontal"); if (hAxis < -buttonThreshold) { ChoosenLanguage.currentLanguage = Language.English; en.color = new Color(1f, 1f, 1f, 1f); fr.color = new Color(1f, 1f, 1f, 0.5f); instructionsEn.SetActive(true); instructionsFr.SetActive(false); } else if (hAxis > buttonThreshold) { ChoosenLanguage.currentLanguage = Language.French; en.color = new Color(1f, 1f, 1f, 0.5f); fr.color = new Color(1f, 1f, 1f, 1f); instructionsEn.SetActive(false); instructionsFr.SetActive(true); } else if (player.GetButtonDown("ChooseLanguage")) { switch (ChoosenLanguage.currentLanguage) { case Language.English: SceneManager.LoadScene("intro_en", LoadSceneMode.Single); break; case Language.French: SceneManager.LoadScene("intro_fr", LoadSceneMode.Single); break; default: throw new ArgumentOutOfRangeException(); } } } }
public void Update() { ReInput.PlayerHelper playerHelper = ReInput.players; int playerCount = playerHelper.playerCount; if (m_toCharacterSelectScreen) { const float buttonThreshold = 1f / 3f; for (int i = 0; i < playerCount; ++i) { Player player = playerHelper.GetPlayer(i); if (player.GetButtonDown("AddController")) { if (m_controllerPlayerIndices[0] != i && m_controllerPlayerIndices[1] != i) { if (m_controllerPlayerIndices[0] < 0) { m_controllerPlayerIndices[0] = i; player0.alpha = 1f; player0Instructions.SetActive(false); } else if (m_controllerPlayerIndices[1] < 0) { m_controllerPlayerIndices[1] = i; player1.alpha = 1f; player1Instructions.SetActive(false); } } } else if (player.GetButtonDown("RemoveController")) { if (m_controllerPlayerIndices[0] == i) { m_controllerPlayerIndices[0] = -1; player0.alpha = 0f; player0Left.SetActive(false); player0Middle.SetActive(true); player0Right.SetActive(false); player0Instructions.SetActive(true); PlayerAssignation.Remove(i); } else if (m_controllerPlayerIndices[1] == i) { m_controllerPlayerIndices[1] = -1; player1.alpha = 0f; player1Left.SetActive(false); player1Middle.SetActive(true); player1Right.SetActive(false); player1Instructions.SetActive(true); PlayerAssignation.Remove(i); } } else if (player.GetButtonDown("StartGame")) { if (PlayerAssignation.isValid) { SceneManager.LoadScene("main", LoadSceneMode.Single); } } else { if (m_controllerPlayerIndices[0] == i) { float hAxis = player.GetAxis("MoveHorizontal"); if (hAxis < -buttonThreshold) { if (!PlayerAssignation.playerSet[0]) { PlayerAssignation.Set(0, i); player0Left.SetActive(true); player0Middle.SetActive(false); player0Right.SetActive(false); } else if (PlayerAssignation.playerControllerIndices[0] != i) { PlayerAssignation.Remove(i); player0Left.SetActive(false); player0Middle.SetActive(true); player0Right.SetActive(false); } } else if (hAxis > buttonThreshold) { if (!PlayerAssignation.playerSet[1]) { PlayerAssignation.Set(1, i); player0Left.SetActive(false); player0Middle.SetActive(false); player0Right.SetActive(true); } else if (PlayerAssignation.playerControllerIndices[1] != i) { PlayerAssignation.Remove(i); player0Left.SetActive(false); player0Middle.SetActive(true); player0Right.SetActive(false); } } } else if (m_controllerPlayerIndices[1] == i) { float hAxis = player.GetAxis("MoveHorizontal"); if (hAxis < -buttonThreshold) { if (!PlayerAssignation.playerSet[0]) { PlayerAssignation.Set(0, i); player1Left.SetActive(true); player1Middle.SetActive(false); player1Right.SetActive(false); } else if (PlayerAssignation.playerControllerIndices[0] != i) { PlayerAssignation.Remove(i); player1Left.SetActive(false); player1Middle.SetActive(true); player1Right.SetActive(false); } } else if (hAxis > buttonThreshold) { if (!PlayerAssignation.playerSet[1]) { PlayerAssignation.Set(1, i); player1Left.SetActive(false); player1Middle.SetActive(false); player1Right.SetActive(true); } else if (PlayerAssignation.playerControllerIndices[1] != i) { PlayerAssignation.Remove(i); player1Left.SetActive(false); player1Middle.SetActive(true); player1Right.SetActive(false); } } } } } pressStartToPlay.SetActive(PlayerAssignation.isValid); } else { for (int i = 0; i < playerCount; ++i) { Player player = playerHelper.GetPlayer(i); if (player.GetButtonDown("StartGame")) { m_toCharacterSelectScreen = true; StartCoroutine(GoToCharacterSelectScreen()); break; } } } }