예제 #1
0
        private void Start()
        {
            var players = ReInput.players.Players;

            for (int i = 0; i < slots.Length; i++)
            {
                slots[i].Initialize(this);
            }

            joysticksCount = 0;

            for (int i = 0; i < players.Count; i++)
            {
                Rewired.Player player = players[i];

                if (player.controllers.joystickCount > 0)
                {
                    PlayerSelectionSlot slot = Array.Find(slots, x => x.Player == null);

                    if (slot != null)
                    {
                        slot.AssignPlayer(players[i]);
                    }
                }

                joysticksCount += player.controllers.joystickCount;
            }

            if (joysticksCount <= 0)
            {
                SelectKeyboard(slots[0]);
                SelectKeyboard(slots[1]);
            }
        }
예제 #2
0
        public void SelectKeyboard(PlayerSelectionSlot slot)
        {
            Rewired.Player joystickPlayerToRecycle = slot.Player;

            if (joystickPlayerToRecycle != null && joystickPlayerToRecycle.controllers.joystickCount <= 0)
            {
                joystickPlayerToRecycle = null;
            }

            Rewired.Player player = FindNextAvailableKeyboardPlayer();

            if (player != null)
            {
                slot.AssignPlayer(player);

                if (joystickPlayerToRecycle != null)
                {
                    PlayerSelectionSlot nextAvailableSlot = FindNextDisabledSlot(false);

                    if (nextAvailableSlot != null)
                    {
                        nextAvailableSlot.AssignPlayer(joystickPlayerToRecycle);
                    }
                }

                if (FindNextAvailableKeyboardPlayer() == null)
                {
                    for (int i = 0; i < slots.Length; i++)
                    {
                        slots[i].IsKeyBoardAvailable(false);
                    }
                }

                keyboardsCount++;
            }
        }