Example #1
0
    /// <summary>
    /// 切换角色状态
    /// </summary>
    /// <param name="status">状态类型</param>
    /// <param name="beForce">是否强制切换</param>
    /// <returns>切换是否成功</returns>
    public bool ChangeStatus(E_CharacterFsmStatus status, bool beForce = false, System.Action onCompelte = null, params object[] objs)
    {
        bool result = fsm.ChangeStatus((int)status, beForce, objs);

        if (result)
        {
            CurStatus = status;
            var fsmStatus = fsm.GetStatus((int)status);
            fsmStatus.OnComplete = onCompelte;
        }
        return(result);
    }
Example #2
0
 /// <summary>
 /// 检测是否可以切换到指定状态
 /// </summary>
 /// <param name="targetStatus"></param>
 /// <param name="beForce"></param>
 /// <returns></returns>
 public bool CheckCanChangeStatus(E_CharacterFsmStatus targetStatus, bool beForce = false)
 {
     return(fsm.CheckCanChangeStatus((int)targetStatus, beForce));
 }