示例#1
0
    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;
    }
示例#2
0
    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());
    }
示例#3
0
    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();
        }
    }