private void EndUse(bool interrupt) { IsUsing = false; if (chargeRoutine != null) { StopCoroutine(chargeRoutine); } characterComponents.animator.ResetTrigger(AnimationConstants.EnumToID(enableTrigger)); characterComponents.animator.SetTrigger(AnimationConstants.EnumToID(disableTrigger)); characterComponents.characterSheet.RemoveEffect(useEffect); characterComponents.characterSheet.RemoveAttackListener(this); if (interrupt) { characterComponents.attackIndicator.FadeOutBlockIndicator(); } else { characterComponents.attackIndicator.DisableBlockIndicator(); } //unlock movement characterComponents.movement.Unlock(); characterComponents.movement.OnCollisionEvent -= OnChargeCollision; }
public override void Use(InputPhase phase) { characterComponents.characterSheet.IncreaseResources(-cost); characterComponents.animator.SetTrigger(AnimationConstants.EnumToID(parryTrigger)); IsUsing = true; if (routine != null) { StopCoroutine(routine); } routine = StartCoroutine(ParryRoutine()); }
public override void Use(Fighter.InputPhase phase) { if (phase == Fighter.InputPhase.down) { characterComponents.characterSheet.IncreaseResources(-cost); IsUsing = true; characterComponents.animator.SetTrigger(AnimationConstants.EnumToID(enableTrigger)); characterComponents.animator.ResetTrigger(AnimationConstants.EnumToID(disableTrigger)); if (chargeRoutine != null) { StopCoroutine(chargeRoutine); } chargeRoutine = StartCoroutine(ChargeRoutine()); } }
public override void Use(InputPhase phase) { if (phase == InputPhase.down || phase == InputPhase.hold) { characterComponents.animator.SetTrigger(AnimationConstants.EnumToID(enableTrigger)); characterComponents.animator.ResetTrigger(AnimationConstants.EnumToID(disableTrigger)); characterComponents.characterSheet.AddEffect(useEffect, -1); characterComponents.characterSheet.AddAttackListener(this); characterComponents.characterSheet.IncreaseResources(-cost); characterComponents.attackIndicator.EnableBlockIndicator(blockConfig.blockAngle); IsUsing = true; routine = StartCoroutine(BlockRoutine()); } else if (phase == InputPhase.up) { EndUse(false); } }
private void EndUse(bool fade) { characterComponents.animator.ResetTrigger(AnimationConstants.EnumToID(enableTrigger)); characterComponents.animator.SetTrigger(AnimationConstants.EnumToID(disableTrigger)); characterComponents.characterSheet.RemoveEffect(useEffect); characterComponents.characterSheet.RemoveAttackListener(this); if (fade) { characterComponents.attackIndicator.FadeOutBlockIndicator(); } else { characterComponents.attackIndicator.DisableBlockIndicator(); } IsUsing = false; if (routine != null) { StopCoroutine(routine); } }
public override void Use(InputPhase phase) { if (phase == InputPhase.down) { characterComponents.characterSheet.IncreaseResources(-cost); IsUsing = true; characterComponents.animator.SetTrigger(AnimationConstants.EnumToID(attackTrigger)); if (routine != null) { StopCoroutine(routine); } routine = StartCoroutine(AttackRoutine()); } base.Use(phase); if (ChainIsUsing) { EndDamage(); EndAbility(); } }