Example #1
0
        /// <summary>
        /// 获取所有条件
        /// </summary>
        /// <returns>基础条件实例数组</returns>
        public BaseFSMCondition[] GetAllCondition()
        {
            BaseFSMCondition[] t_BaseConditions = new BaseFSMCondition[IConditionMapDataStructure.Count];
            var t_ConditionMaps = IConditionMapDataStructure.ToArray();

            for (int i = 0; i < t_ConditionMaps.Length; i++)
            {
                t_BaseConditions[i] = t_ConditionMaps[i].Value;
            }
            return(t_BaseConditions);
        }
Example #2
0
 /// <summary>
 /// 添加状态机条件
 /// </summary>
 /// <param name="t_BaseFSMCondition">状态机条件类型</param>
 public void AddCondition(BaseFSMCondition t_BaseFSMCondition)
 {
     if (!IConditionMapDataStructure.ContainsValue(t_BaseFSMCondition))
     {
         IConditionMapDataStructure.Add(t_BaseFSMCondition.GetType().Name, t_BaseFSMCondition);
     }
     else
     {
         throw new GameBoxFrameworkException(string.Format("已经存在'{0}'条件", t_BaseFSMCondition.GetType().Name));
     }
 }