/// <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(); } }
/// <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()); }
/// <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); } }