Ejemplo n.º 1
0
    void Start()
    {
        InputReader.EnableGameplayInput();

        TryGetComponent(out WireHolder);
        TryGetComponent(out Movement);
        TryGetComponent(out Interactor);

        InputReader.MoveEvent += (float dir) =>
        {
            Movement.Direction = dir;
        };

        InputReader.InteractEvent += () =>
        {
            Interactor.InteractNearest();
        };

        InputReader.JumpEvent += () =>
        {
            if (!WireHolder.IsHanging)
            {
                Movement.Jump();
            }
        };

        InputReader.HoldEvent += () =>
        {
            WireHolder.ToggleHold();
        };

        InputReader.RetractEvent += () =>
        {
            if (WireHolder.IsHanging)
            {
                WireHolder.ToggleRetract();
            }
        };

        InputReader.UsePowerEvent += () =>
        {
            Movement.Boost();
        };
    }
Ejemplo n.º 2
0
    private void OnTriggerStay(Collider other)
    {
        if (other.gameObject.CompareTag(interactTag) && Input.GetKeyDown(KeyCode.Space))
        {
            //Récupération de la référence du script Interactable attaché sur l'objet du collider
            Interactable interactableScript = other.gameObject.GetComponent <Interactable>();

            if (interactableScript.CanInteract() == true)
            {
                interactableScript.Interact();
            }


            if (interactableScript.isBooster)
            {
                MovementController movementScript = this.gameObject.GetComponent <MovementController>();
                movementScript.Boost();
            }
        }
    }