/// <summary>
    /// 更新当前动画剪辑的状态
    /// </summary>
    /// <returns></returns>
    private void UpdateAnimationClipTypeState()
    {
        //获取不是结束状态的对象
        AnimationClipTypeState animationClipTypeState = animationClipTypeStateList.FirstOrDefault(temp => temp.TimeType != EnumAnimationClipTimeType.Out);

        iAnimatorState.AnimationClipTypeState = animationClipTypeState;
    }
    /// <summary>
    /// 动画进入离开或触发条件时
    /// </summary>
    /// <param name="animationClipType"></param>
    /// <param name="clipTimeType"></param>
    /// <param name="normalizedTime"></param>
    private void PlayerAnimRunningState_AnimRunningStateHandle(EnumAnimationClipType animationClipType, EnumAnimationClipTimeType clipTimeType, float normalizedTime)
    {
        AnimationClipTypeState animationClipTypeState = animationClipTypeStateList.FirstOrDefault(temp => temp.AnimationClipType == animationClipType);

        if (animationClipTypeState == null)
        {
            animationClipTypeState = new AnimationClipTypeState()
            {
                AnimationClipType = animationClipType
            };
            animationClipTypeStateList.Add(animationClipTypeState);
        }
        animationClipTypeState.TimeType = clipTimeType;
        animationClipTypeState.ClipTime = normalizedTime;
        Action SetAttackAction = () =>
        {
            bool allOut = animationClipTypeStateList.Where(temp => temp.AnimationClipType == EnumAnimationClipType.Attack1 ||
                                                           temp.AnimationClipType == EnumAnimationClipType.Attack2 ||
                                                           temp.AnimationClipType == EnumAnimationClipType.Attack3
                                                           ).ToList().TrueForAll(temp => temp.TimeType == EnumAnimationClipTimeType.Out);
            if (allOut)
            {
                iAnimatorState.IsPhycisActionState = false;
                iAnimatorState.PhycisActionNowType = 0;
            }
            else
            {
                iAnimatorState.IsPhycisActionState = true;
            }
        };

        switch (animationClipType)
        {
        case EnumAnimationClipType.Move:
            break;

        //当动作进入攻击1 攻击2 攻击3时分别设置对应的物理动作(普通攻击)阶段为对应的阶段
        //当退出动作时设置动作为0(无攻击)
        case EnumAnimationClipType.Attack1:
            SetAttackAction();
            if (clipTimeType == EnumAnimationClipTimeType.In)
            {
                iAnimatorState.PhycisActionNowType = 1;
            }
            break;

        case EnumAnimationClipType.Attack2:
            SetAttackAction();
            if (clipTimeType == EnumAnimationClipTimeType.In)
            {
                iAnimatorState.PhycisActionNowType = 2;
            }
            break;

        case EnumAnimationClipType.Attack3:
            if (clipTimeType == EnumAnimationClipTimeType.In)
            {
                iAnimatorState.PhycisActionNowType = 3;
            }
            else if (clipTimeType == EnumAnimationClipTimeType.Out)
            {
                iAnimatorState.PhycisActionNowType = 0;
            }
            SetAttackAction();
            break;

        case EnumAnimationClipType.MagicSing:
            if (clipTimeType == EnumAnimationClipTimeType.In)
            {
                iAnimatorState.IsMagicActionState = true;
            }
            break;

        case EnumAnimationClipType.MagicShot:
            if (clipTimeType == EnumAnimationClipTimeType.In)
            {
                iAnimatorState.IsMagicActionState = true;
            }
            else if (clipTimeType == EnumAnimationClipTimeType.Out)
            {
                iAnimatorState.IsMagicActionState = false;
            }
            break;

        case EnumAnimationClipType.PhysicSkill:
            if (clipTimeType == EnumAnimationClipTimeType.In)
            {
                iAnimatorState.IsSkillState = true;
            }
            else if (clipTimeType == EnumAnimationClipTimeType.Out)
            {
                iAnimatorState.IsSkillState = false;
            }
            break;

        case EnumAnimationClipType.Dizzy:
            if (clipTimeType == EnumAnimationClipTimeType.Out)
            {
                iAnimatorState.PhycisActionNowType = 0;
                iAnimatorState.IsPhycisActionState = false;
                iAnimatorState.IsSkillState        = false;
                iAnimatorState.IsMagicActionState  = false;
                iAnimatorState.IsGetHitAnimator    = false;
                playerAnimator.SetLayerWeight(1, 0f);
            }
            break;

        case EnumAnimationClipType.Roll:
            break;

        case EnumAnimationClipType.GetHit:
            if (clipTimeType == EnumAnimationClipTimeType.Out)
            {
                iAnimatorState.PhycisActionNowType = 0;
                iAnimatorState.IsPhycisActionState = false;
                iAnimatorState.IsSkillState        = false;
                iAnimatorState.IsMagicActionState  = false;
                iAnimatorState.IsGetHitAnimator    = false;
                playerAnimator.SetLayerWeight(1, 0f);
            }
            break;

        case EnumAnimationClipType.Death:
            if (clipTimeType == EnumAnimationClipTimeType.Out)
            {
                iAnimatorState.PhycisActionNowType = 0;
                iAnimatorState.IsPhycisActionState = false;
                iAnimatorState.IsSkillState        = false;
                iAnimatorState.IsMagicActionState  = false;
                iAnimatorState.IsGetHitAnimator    = false;
                iAnimatorState.IsDeathAnimator     = false;
                playerAnimator.SetLayerWeight(1, 0f);
            }
            else if (clipTimeType == EnumAnimationClipTimeType.In)    //进入死亡状态
            {
                iAnimatorState.IsDeathAnimator = true;
            }
            break;
        }
        UpdateAnimationClipTypeState();
    }