public void UpdateGamepad(GamepadPoll gamepad)
    {
        SetShading("Mod", IsModKeyActive);

        if (IsModKeyActive)
        {
            SetShading("X", gamepad.GetButton(Gamepad.Button.X));
            SetShading("Y", gamepad.GetButton(Gamepad.Button.Y));
            SetShading("B", gamepad.GetButton(Gamepad.Button.B));

            SetColor("X", Color.white);
            SetColor("Y", Color.white);
            SetColor("B", Color.white);
        }
        else
        {
            SetShading("X", false);
            SetShading("Y", false);
            SetShading("B", false);

            SetColor("X", Color.gray);
            SetColor("Y", Color.gray);
            SetColor("B", Color.gray);
        }
    }
Ejemplo n.º 2
0
 public void SetSelection(LevelBuilderAsset asset, GamepadPoll gamepad)
 {
     foreach (var child in gameObject.GetComponentsInChildren <LevelEditorSpawnButtonGroup>())
     {
         if (child.IsMyModkeyPressed(gamepad))
         {
             child.SetResourceSelection(asset, gamepad);
         }
     }
 }
Ejemplo n.º 3
0
 private void TrySpawn(GamepadPoll gamepad)
 {
     if (buttonGroup.ShouldSpawn(gamepad, out var targetToSpawn))
     {
         var newObject     = Instantiate(targetToSpawn.gameObject, parent: currentShip.transform);
         var builderObject = newObject.AddComponent <LevelBuilderObject>();
         builderObject.objectName     = targetToSpawn.filename;
         newObject.transform.position = player.transform.position + player.transform.forward * 10f;
         Grab(newObject);
     }
 }
    public GamepadPoll(GamePadState currentState, GamepadPoll poll, float leftStickDZ, float leftStickPow, float rightStickDZ, float rightStickPow)
    {
        this.currentState  = currentState;
        this.previousState = poll?.currentState ?? new GamePadState();
        this.leftTriggerPressedPreviously  = poll?.GetButton(Button.LeftTriggerButton) ?? false;
        this.rightTriggerPressedPreviously = poll?.GetButton(Button.RightTriggerButton) ?? false;

        this.leftStickDZ   = leftStickDZ;
        this.leftStickPow  = leftStickPow;
        this.rightStickDZ  = rightStickDZ;
        this.rightStickPow = rightStickPow;
    }
Ejemplo n.º 5
0
 public bool ShouldSpawn(GamepadPoll gamepad, out LevelBuilderAsset targetToSpawn)
 {
     targetToSpawn = null;
     foreach (var child in gameObject.GetComponentsInChildren <LevelEditorSpawnButtonGroup>())
     {
         if (child.ShouldSpawn(gamepad, out targetToSpawn))
         {
             return(true);
         }
     }
     return(false);
 }
 public bool IsMyModkeyPressed(GamepadPoll gamepad)
 {
     if (button == Gamepad.Button.None)
     {
         return(!gamepad.GetAnyButton(
                    Gamepad.Button.LeftShoulder,
                    Gamepad.Button.RightShoulder,
                    Gamepad.Button.LeftTriggerButton,
                    Gamepad.Button.RightTriggerButton));
     }
     else
     {
         return(gamepad.GetButton(button));
     }
 }
 public bool ShouldSpawn(GamepadPoll gamepad, out LevelBuilderAsset objectToSpawn)
 {
     objectToSpawn = null;
     if (IsMyModkeyPressed(gamepad))
     {
         if (gamepad.GetButtonDown(Gamepad.Button.X))
         {
             objectToSpawn = xObject;
         }
         if (gamepad.GetButtonDown(Gamepad.Button.Y))
         {
             objectToSpawn = yObject;
         }
         if (gamepad.GetButtonDown(Gamepad.Button.B))
         {
             objectToSpawn = bObject;
         }
     }
     return(objectToSpawn != null);
 }
 public void SetResourceSelection(LevelBuilderAsset asset, GamepadPoll gamepad)
 {
     if (IsMyModkeyPressed(gamepad))
     {
         if (gamepad.GetButtonDown(Gamepad.Button.X))
         {
             xObject = asset;
             SetThumbnail("X_Thumbnail", asset.icon);
         }
         else if (gamepad.GetButtonDown(Gamepad.Button.Y))
         {
             yObject = asset;
             SetThumbnail("Y_Thumbnail", asset.icon);
         }
         else if (gamepad.GetButtonDown(Gamepad.Button.B))
         {
             bObject = asset;
             SetThumbnail("B_Thumbnail", asset.icon);
         }
     }
 }
Ejemplo n.º 9
0
    private LocalSpaceShipInput GetInput()
    {
        GamepadPoll poll = gamepad.Poll();

        Vector3 positionInput = Vector3.zero;
        Vector3 rotationInput = Vector3.zero;

        positionInput   += poll.LeftStick.ToVector3("x0y");
        positionInput.y += poll.RightTrigger;
        positionInput.y -= poll.LeftTrigger;

        rotationInput += poll.RightStick.ToVector3("-yx0");
        if (poll.GetButton(Gamepad.Button.RightShoulder))
        {
            rotationInput.z -= 1f;
        }
        if (poll.GetButton(Gamepad.Button.LeftShoulder))
        {
            rotationInput.z += 1f;
        }

        if (positionInput.sqrMagnitude > 1f)
        {
            positionInput = positionInput.normalized;
        }
        if (rotationInput.sqrMagnitude > 1f)
        {
            rotationInput = rotationInput.normalized;
        }

        bool airbrakes = poll.GetButton(Gamepad.Button.A);

        LocalSpaceShipInput localInput = new LocalSpaceShipInput(positionInput, rotationInput, airbrakes);

        return(localInput);
    }
Ejemplo n.º 10
0
 public GamepadInputEvent(GamepadPoll gamepad)
 {
     this.gamepad = gamepad;
 }
Ejemplo n.º 11
0
 private void OnBindObjectToHotkey(Texture2D texture, object o, GamepadPoll gamepad)
 {
     buttonGroup.SetSelection(o as LevelBuilderAsset, gamepad);
 }
Ejemplo n.º 12
0
 public GamepadPoll Poll()
 {
     lastPoll = new GamepadPoll(GamePad.GetState(player), lastPoll, leftStickDZ, leftStickPow, rightStickDZ, rightStickPow);
     return(lastPoll);
 }