private void HandleKeyboardPlayerEntrance(KeyCode keycode, string playerPrefix, TitleWiggle avatar, GameObject enter) { if (Input.GetKeyDown(keycode)) { var avatarObject = avatar.gameObject; var hasPlayer = HandlePlayerEntrance(playerPrefix, KEYBOARD, avatar); avatarObject.SetActive(hasPlayer); enter.SetActive(!hasPlayer); playerCount = PlayersManagerSingleton.Instance.players.Count; EnterPlayerAudio(hasPlayer); } }
private void HandleGamepadPlayerEntrance(string playerPrefix, TitleWiggle avatar, GameObject enter) { if (IsAnyButtonDown(playerPrefix)) { var avatarObject = avatar.gameObject; var hasPlayer = HandlePlayerEntrance(playerPrefix, GAME_PAD, avatar); avatarObject.SetActive(hasPlayer); enter.SetActive(!hasPlayer); playerCount = PlayersManagerSingleton.Instance.players.Count; EnterPlayerAudio(hasPlayer); } }
private bool HandlePlayerEntrance(string playerPrefix, string controller, TitleWiggle avatar) { var players = PlayersManagerSingleton.Instance.players; if (controller == GAME_PAD) { avatar.controllerSprite.sprite = GamepadSprite; } else { avatar.controllerSprite.sprite = keyboardSprite; } if (players.ContainsKey(playerPrefix)) { var currentPlayer = players[playerPrefix]; if (currentPlayer.controllerType == controller) { players.Remove(playerPrefix); return(false); } else { var playerSettings = new PlayersManagerSingleton.PlayerSettings(); playerSettings.controllerType = controller; playerSettings.playerColor = avatar.controllerSprite.color; players[playerPrefix] = playerSettings; return(true); } } else { var playerSettings = new PlayersManagerSingleton.PlayerSettings(); playerSettings.controllerType = controller; playerSettings.playerColor = avatar.controllerSprite.color; players.Add(playerPrefix, playerSettings); return(true); } }