/// <summary>
 /// Assert断言仅用于测试环境调试
 /// 条件委托是否为true
 /// </summary>
 /// <param name="handler">条件委托</param>
 /// <param name="trueCallBack">true时候的回调</param>
 public static void Predicate(CFPredicateAction handler, CFAction trueCallBack)
 {
     if (handler.Invoke())
     {
         trueCallBack?.Invoke();
     }
 }
Exemple #2
0
        /// <summary>
        /// 获得传入元素某个符合条件的所有对象
        /// </summary>
        public static T[] FindAll <T, K>(T[] array, CFPredicateAction <T> handler)
        {
            List <T> list = new List <T>();

            for (int i = 0; i < array.Length; i++)
            {
                if (handler(array[i]))
                {
                    list.Add(array[i]);
                }
            }
            return(list.ToArray());
        }
Exemple #3
0
        /// <summary>
        /// 获得传入元素某个符合条件的所有对象
        /// </summary>
        public static T Find <T>(T[] array, CFPredicateAction <T> handler)
        {
            T temp = default(T);

            for (int i = 0; i < array.Length; i++)
            {
                if (handler(array[i]))
                {
                    return(array[i]);
                }
            }
            return(temp);
        }
        public T[] GetControllers <T>(CFPredicateAction <T> predicate)
            where T : CFController
        {
            var key = typeof(T);

            if (controllerMap.ContainsKey(key))
            {
                List <T> list = new List <T>();
                foreach (var item in controllerMap[key])
                {
                    if (predicate(item as T))
                    {
                        list.Add(item as T);
                    }
                }
                return(list.ToArray());
            }
            else
            {
                Utility.DebugError("ControllerManager" + "Controller : " + key.FullName + "is  unregistered");
                return(default(T[]));
            }
        }
        public T GetController <T>(CFPredicateAction <T> predicate)
            where T : CFController
        {
            var key  = typeof(T);
            T   temp = default(T);

            if (controllerMap.ContainsKey(key))
            {
                foreach (var item in controllerMap[key])
                {
                    if (predicate(item as T))
                    {
                        return(item as T);
                    }
                }
                return(temp);
            }
            else
            {
                Utility.DebugError("ControllerManager" + "Controller : " + key.FullName + "is  unregistered");
                return(temp);
            }
        }