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