public bool tryAttack(string attackName) { if (currentAttackName == "none" && attacks.ContainsKey(attackName)) { if (gameManager.checkOnBeat()) { onBeat = true; } else { onBeat = false; } hitboxCreated = false; currentAttackName = attackName; currentAttack = attacks[currentAttackName]; startUpTime = (currentAttack.startUpTime * beatTime) - (Time.deltaTime * 2); recoveryTime = currentAttack.recoveryTime * beatTime; anim.SetInteger("attack", currentAttack.animationID); anim.speed = currentAttack.animSpeed * animationRatio; movement.canMove = false; currentAttack.onStartUp(); currentAttack.timeSinceStart = 0.0f; startingNewAttack = true; return(true); } return(false); }
public bool tryAttack(string attackName) { if (CurrentAttackName == "none" && attacks.ContainsKey(attackName) && stunTime <= 0.0f) { m_hitboxCreated = false; CurrentAttackName = attackName; m_currentAttack = attacks[CurrentAttackName]; startUpTime = (m_currentAttack.startUpTime) - (Time.deltaTime * 2); recoveryTime = m_currentAttack.recoveryTime; m_anim.Play(m_currentAttack.StartUpAnimation, true); m_anim.SetSpeed(m_currentAttack.animSpeed * m_animationSpeed); m_physics.canMove = false; m_currentAttack.onStartUp(); m_currentAttack.timeSinceStart = 0.0f; m_startingNewAttack = true; if (m_currentAttack.startupSoundFX != null) { AudioSource.PlayClipAtPoint(m_currentAttack.startupSoundFX, transform.position); } return(true); } return(false); }