Beispiel #1
0
        /// <summary>
        /// 转换通道是否畅通
        /// 重载
        /// </summary>
        /// <param name="fsmEntity"></param>
        /// <returns></returns>
        public override bool IsPipelineOpen(CFSM fsmEntity)
        {
            if (m_EventTrigger == null)
            {
                return(false);
            }
            List <CFSMEvent> listenedEventList = fsmEntity.GetListenedEvent();

            if (listenedEventList == null)
            {
                return(false);
            }
            Int32 nSize = listenedEventList == null ? 0 : listenedEventList.Count;

            for (Int32 i = 0; i < nSize; ++i)
            {
                CFSMEvent listenedEvent = listenedEventList[i];
                bool      bTrigger      = m_EventTrigger.Trigger(listenedEvent);
                if (bTrigger == true)
                {
                    return(true);
                }
            }
            return(false);
        }