public void StartJumping() { if (!m_isJumping && m_positionDetector.IsOnGround && (!m_isFrozen || m_isRecovering)) { OnAttackInterrupt.Invoke(); if (m_isFrozen) { Freeze(false); } m_animator.SetBool("Jump", true); m_animator.SetBool("Airborn", true); StartCoroutine(Jump()); } }
public void StartDash() { if (!m_isDashing && m_dashTimer <= 0f && (!m_isFrozen || m_isRecovering)) { //Ensure that player doesn't double Dash m_isDashing = true; OnAttackInterrupt.Invoke(); if (m_isFrozen) { Freeze(false); } m_animator.SetBool("Dash", true); StartCoroutine(Dash()); m_sounds.LaunchDashSound(); } }
public IEnumerator SlamDown(float speed) { m_slamDownFX.Proc(); while (!m_positionDetector.IsOnGround) { transform.position = new Vector3(transform.position.x, transform.position.y - speed * Time.deltaTime, transform.position.z); yield return(null); } m_slamDownFX.gameObject.SetActive(false); Freeze(false); m_superArmored = false; m_camMgr.ShakeCameraTemporary(m_shakeAmplitude, m_shakeFrequency, m_shakeDuration); OnAttackInterrupt.Invoke(); yield return(new WaitForEndOfFrame()); }