Beispiel #1
0
        /// <summary>
        ///  向该类添加一组处理,若有一个添加错误,则返回 false;
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="func"></param>
        /// <returns></returns>
        public bool AddDisposeFunction <T>(Func <JsonData, bool> func)
        {
            return(FunctionObtaining.AddAllObjectFunc <OPFunction, JsonData>((s, f) =>
            {
                if (dicts.ContainsKey(s))
                {
                    return false;
                }

                dicts.Add(s, f);
                return true;
            }));
        }
Beispiel #2
0
        /// <summary>
        ///  注册一个客户端类中所有符合要求的客户端事件;
        /// </summary>
        public static bool AddScpritEventFunc <T>(bool dontDestroy = false) where T : class
        {
            return(FunctionObtaining.AddAllObjectFunc <T>((s, f) =>
            {
                if (EventFunctionLibrary.ExternalDisposeFunc(s))
                {
                    return false;
                }

                EventFunctionLibrary.Add(s, f, dontDestroy);
                return true;
            }));
        }
Beispiel #3
0
        /// <summary>
        ///  收集该类的所有处理函数;
        /// </summary>
        private void CollectFunciton()
        {
            if (dicts.Count == 0)             // 下面一个返回值没有用 TODO
            {
                FunctionObtaining.AddAllObjectFunc <OPFunction, JsonData>((s, f) =>
                {
                    if (dicts.ContainsKey(s))
                    {
                        return(false);
                    }

                    dicts.Add(s, f);
                    return(true);
                });
            }
        }
Beispiel #4
0
        /// <summary>
        ///  添加一个对象下,所有符合 Func 类型的方法;
        ///
        ///  T1 为一个对象,T2 为对象的函数的参数;如果需要可以添加 T3为返回类型,这里默认返回类型必须为 bool;
        /// </summary>
        /// <param name="obj"></param>
        public static void AddScriptDisposeFunction <T1, T2>(bool dontDestory = false) where T1 : class
        {
            FunctionObtaining.AddAllObjectFunc <T1, T2>((s, f) =>
            {
                if (CustomFunctionLibrary <T2> .ExternalDispose(s))
                {
                    return(false);
                }

                CustomFunctionLibrary <T2> .Add(s, f, dontDestory);
                return(true);
            });


            // TODO .....
        }