public override void Perform() { if (!manipulate.isManipulating) { return; } Vector2 dir = player.myRigid.velocity.normalized; Manipulable manipulable = manipulate.FindManipulateable(dir); if (!manipulable) { return; } Rigidbody2D otherRigid = manipulable.rigid; Vector2 aim = player.lastPotentAim.normalized; Vector2 deltaVel = aim * jumpSpeed; player.myRigid.velocity = Vector2.zero; Bending.AddVelocity(player.myRigid, deltaVel); Bending.AddVelocity(otherRigid, -deltaVel); EffectManager.CreateRockHitEffect(transform.position, deltaVel); EffectManager.CreateRockHitEffect(otherRigid.position, -deltaVel); }
public override void Interaction() { m_Player = FindObjectOfType <Player>(); m_Bending = FindObjectOfType <Bending>(); m_Crouching = FindObjectOfType <Crouching>(); m_FPSCamera = FindObjectOfType <FPSCamera>(); m_Interaction = FindObjectOfType <Interaction>(); m_Player.enabled = false; m_Bending.enabled = false; m_Crouching.enabled = false; m_FPSCamera.enabled = false; m_Interaction.enabled = false; m_AudioSource.Play(); letter.SetActive(true); meshRenderer.enabled = false; if (!alreadyActivated) { for (int i = 0; i < objectToActivateBefore.Length; i++) { objectToActivateBefore[i].Interaction(); } } }
public void Die() { transform.position = respawnPoint.transform.position; m_Player = FindObjectOfType <Player>(); m_Bending = FindObjectOfType <Bending>(); m_Crouching = FindObjectOfType <Crouching>(); m_FPSCamera = FindObjectOfType <FPSCamera>(); m_Interaction = FindObjectOfType <Interaction>(); m_Animator = GetComponentInChildren <Animator>(); //m_Animator.Play("Death"); canvas.SetActive(false); deathCanvas.SetActive(true); m_Player.enabled = false; m_Bending.enabled = false; m_Crouching.enabled = false; m_FPSCamera.enabled = false; m_Interaction.enabled = false; Invoke("Revive", deathTime); }