コード例 #1
0
    private void PlayHitAnimation(PlayerBaseAttackLogic attackLogic)
    {
        //Play hit anim
        string hitAnimName = attackLogic.GetHitAnimName(m_MovementComponent.GetCurrentStance(), EStunAnimState.In);

        m_Anim.Play(hitAnimName, 0, 0);
    }
コード例 #2
0
    public virtual bool EvaluateConditions(PlayerBaseAttackLogic currentAttackLogic)
    {
        bool conditionIsValid = true;

        PlayerAttack attack = GetAttack();

        if (m_MovementComponent != null)
        {
            conditionIsValid &= (attack.m_NeededStanceList.Contains(m_MovementComponent.GetCurrentStance()));
        }

        if (attack.m_HasCondition)
        {
            if (attack.m_SuperGaugeAmountNeeded > 0f)
            {
                PlayerSuperGaugeSubComponent superGaugeSC = m_AttackComponent.GetSuperGaugeSubComponent();
                if (superGaugeSC != null)
                {
                    conditionIsValid &= superGaugeSC.GetCurrentGaugeValue() >= attack.m_SuperGaugeAmountNeeded;
                }
            }

            if (attack.m_HasAttackRequirement)
            {
                conditionIsValid &= (currentAttackLogic != null && currentAttackLogic.GetAttack().m_AnimationAttackName == attack.m_AttackRequired);
            }

            if (attack.m_HasMovementRequirement)
            {
                conditionIsValid &= attack.m_MovementRequiredList.Contains(m_MovementComponent.GetMovingDirection());
            }
        }

        return(conditionIsValid);
    }
コード例 #3
0
 private void TriggerProximityGuard()
 {
     m_Animator.ResetTrigger(K_ANIM_ONPROXIMITYEND_TRIGGER);
     m_Animator.Play(K_ANIM_PROXIMITY + m_PlayerMovementComponent.GetCurrentStance().ToString() + K_ANIM_IN, 0, 0);
     Utils.GetPlayerEventManager(m_Owner).TriggerEvent(EPlayerEvent.StopMovement);
 }