// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2020-09-02 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** using System.Collections.Generic; using UnityEngine; namespace G { public class Stat_CommonAniAction : Stat_Base { #pragma warning disable CS0649 // 从未对字段“Stat_CommonAniAction.m_curAniLength”赋值,字段将一直保持其默认值 0 private float m_curAniLength; #pragma warning restore CS0649 // 从未对字段“Stat_CommonAniAction.m_curAniLength”赋值,字段将一直保持其默认值 0 private bool m_end; private string m_aniName; public Stat_CommonAniAction(Stat_StateManager statMgr) : base(statMgr) { } public override bool Enter(Dictionary param, bool clearDelegates = false) { m_end = false; //m_char.m_animation.Stop(); bool flag = false; flag = base.Enter(param, clearDelegates); //m_curAniLength = m_char.PlayAnimationByName((string)param["name"]); if (m_curAniLength == -1f) { Debug.LogError("Can not find AniName:" + (string)param["name"]); return false; } m_aniName = (string)param["name"]; m_statMgr.AddTimer(m_curAniLength, AnimationEnd_CB); return flag; } private bool AnimationEnd_CB(object[] param) { m_end = true; //if (m_aniName == "evade" && LevelData.levelType != LevelType.Arena && m_char.m_data.HasBuffState(141)) //{ // m_statMgr.SetCurActionState(enStat.STAT_ACTION_DASHATTACK); // return true; //} m_statMgr.SetCurActionState(enStat.STAT_ACTION_IDLE); return true; } public override bool CanTransition(enStat stat) { switch (stat) { case enStat.STAT_ACTION_DEAD: return true; case enStat.STAT_ACTION_CHACKLES: return true; default: //if (MonoInstancePool.getInstance().curGuideModule == 0) //{ // return true; //} if (m_end) { return true; } return false; } } } }