IEnumerator EvasionCoroutine() { m_crowdControlManager.ImpenetrableOn(); m_animFuntion.SetTrigger(m_animFuntion.hashTEvasion); yield return(new WaitForSeconds(0.1f)); if (!m_playerState.IsPlayerGround()) { m_rigidbody2D.constraints = RigidbodyConstraints2D.FreezePositionY | RigidbodyConstraints2D.FreezeRotation; AddMeve(m_speedAir); } else { AddMeve(m_speed); } m_playerState.PlayerStateEvasion(); while (true) { if (!m_animFuntion.IsTag("Evasion")) { break; } yield return(new WaitForSeconds(0.02f)); } m_rigidbody2D.constraints = RigidbodyConstraints2D.FreezeRotation; m_rigidbody2D.velocity = new Vector2(m_rigidbody2D.velocity.x / 3, 0.1f); m_bEvasion = false; m_crowdControlManager.ImpenetrableOff(); if (m_playerState.IsPlayerGround()) { m_playerState.PlayerStateReset(); } else { m_playerState.PlayerStateDoubleJump(); } }
private IEnumerator AttackCoroutine() { if (!m_animFuntion.IsTag("NormalAttack")) { m_bAttacking = false; yield break; } string m_sAnimName = m_animFuntion.GetCurrntAnimClipName(); PlayStartSwitch(m_sAnimName); PlayAnimEffect(m_sAnimName); while (true) { if (!m_animFuntion.IsName(m_sAnimName)) { PlayEndSwitch(m_sAnimName); m_sAnimName = m_animFuntion.GetCurrntAnimClipName(); PlayStartSwitch(m_sAnimName); } if (!m_animFuntion.IsTag("NormalAttack")) { PlayEndSwitch(m_sAnimName); break; } yield return(0); } m_bAttacking = false; m_sAnimName = null; CancelInvoke(); m_playerCrowdControlManager.OffAirStop(); if (!m_playerState.IsPlayerGround()) { m_playerState.PlayerStateDoubleJump(); } }