protected override void interact(Interacter target) { PlayerController playerController = target.GetComponent <PlayerController>(); if (playerController != null) { SetActive(false); StartCoroutine(buffTimer(target)); } }
IEnumerator buffTimer(Interacter target) { PlayerController playerController = target.GetComponent <PlayerController>(); playerController.SetMovementSpeed(playerController.GetCurrentMovementSpeed() + boostStrength); yield return(new WaitForSeconds(boostDuration)); Debug.Log("WaitAndPrint " + Time.time); playerController.SetMovementSpeed(playerController.GetCurrentMovementSpeed() - boostStrength); Destroy(gameObject); }
protected override void interact(Interacter target) { if (!trapArmed) { return; } if (target.tag == "Player") { var pc = target.GetComponent <PlayerController>(); if (pc.activePlayer == trapOwner) { return; } pc.DisableMovement(); cage.GetComponent <Renderer>().enabled = true; cage.GetComponent <PhysicsObject>().EnableGravity(); trappedPlayer = pc; trapActivated = true; } }