public void DoAction(AnimActionFactory.E_Type type, Statelayer layer = Statelayer.Normal)
    {
        if (!mHasSetup)
        {
            return;
        }
        AnimAction action = AnimActionFactory.Create(type);

        DoAction(action, layer);
    }
 public void DoAction(AnimAction action, Statelayer layer = MecanimStateController.Statelayer.Normal)
 {
     //if(mOwner is Npc)
     //    Debug.Log(action);
     if (!mHasSetup)
     {
         return;
     }
     if (layer >= Statelayer.Count || action == null)
     {
         return;
     }
     mAnimStates[(uint)layer].DoAction(action);
 }
    /// <summary>
    /// 结束当前的状态
    /// </summary>
    /// <param name="nStateHash">如果当前处于 ifStateHash时</param>
    /// <param name="layer"></param>
    public void  FinishCurrentState(int ifStateHash, Statelayer layer = Statelayer.Normal)
    {
        if (!mHasSetup)
        {
            return;
        }
        if (layer >= Statelayer.Count || ifStateHash == 0)
        {
            return;
        }


        EventContext content = new EventContext();

        content.curstate = ifStateHash;
        MecanimEvent even = new MecanimEvent(MecanimEvent.MEC_ANIM_END, content);

        mAnimStates[(uint)layer].CurrentAnimState.HandlemAnimatorEvent(even);
    }
 public void FinishCurrentState(string statename, Statelayer layer = Statelayer.Normal)
 {
     FinishCurrentState(AnimSet.GetStateHash(statename), layer);
 }