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);
        }
    }