예제 #1
0
    void Update()
    {
        PlayerInput.Type playerInput = PlayerInput.getPlayerInput();

        foreach (GameObject character in characters)
        {
            var characterControl = character.GetComponent <CharacterControl>();

            // selected character gets to read player input. all other characters just get regular updates
            if (this.selectedCharacter != null && this.selectedCharacter.GetInstanceID() == character.GetInstanceID())
            {
                switch (playerInput)
                {
                case PlayerInput.Type.MOVE:
                    characterControl.Move();
                    break;

                case PlayerInput.Type.SELECT:
                    characterControl.Select();
                    break;

                default:
                    characterControl.doUpdate();
                    break;
                }
            }
            else
            {
                characterControl.doUpdate();
            }
        }
    }
예제 #2
0
 void AddNumber(int gain)
 {
     inputType = (PlayerInput.Type)((TypeCount + (int)inputType + gain) % TypeCount);
     if (inputType != PlayerInput.Type.None && InputTypeIsAlreadyUsed())
     {
         AddNumber(gain);
         return;
     }
     Refresh();
 }
예제 #3
0
 public void AddInput(float value, int player, PlayerInput.Type type)
 {
     if (type == PlayerInput.Type.Pedal)
     {
         players[player].pedal.AddValue(value);
     }
     else if (type == PlayerInput.Type.Wheel)
     {
         players[player].wheel.AddValue(value);
     }
 }
예제 #4
0
 bool HasAnyButtonPressed(PlayerInput.Type inputType)
 {
     if (inputType == PlayerInput.Type.None || inputType == PlayerInput.Type.Keyboard)
     {
         return(false);
     }
     for (int i = 0; i < 20; i++)
     {
         if (Input.GetKey($"joystick {(int)inputType - 1} button {i}"))
         {
             return(true);
         }
     }
     return(false);
 }
예제 #5
0
    string GetInputName(PlayerInput.Type inputType)
    {
        switch (inputType)
        {
        case PlayerInput.Type.Keyboard:     return("Keyboard");

        case PlayerInput.Type.Joystick1:    return("Joystick1");

        case PlayerInput.Type.Joystick2:    return("Joystick2");

        case PlayerInput.Type.Joystick3:    return("Joystick3");

        case PlayerInput.Type.Joystick4:    return("Joystick4");
        }
        return("None");
    }
예제 #6
0
 bool InputIsConnected(PlayerInput.Type inputType) => ((int)inputType) < 2 || ((int)inputType - 1) <= Input.GetJoystickNames().Length;
예제 #7
0
 void Awake()
 {
     inputType          = PlayerInput.LoadPlayerInput(number);
     imageOriginalColor = controlImage.color;
 }