Пример #1
0
        private static bool register(Dictionary <string, List <Pair> > events, string eventname, object obj, string funcname, NetEventFunction fun = null)
        {
            deregister(events, eventname, obj, funcname);
            List <Pair> lst = null;

            Pair pair = new Pair();

            pair.obj      = obj;
            pair.funcname = funcname;
            pair.method   = obj.GetType().GetMethod(funcname);
            if (pair.method == null)
            {
                Dbg.ERROR_MSG("Event::register: " + obj + "not found method[" + funcname + "]");
                return(false);
            }

            monitor_Enter(events);
            if (!events.TryGetValue(eventname, out lst))
            {
                lst = new List <Pair>();
                lst.Add(pair);
                //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!");
                events.Add(eventname, lst);
                monitor_Exit(events);
                return(true);
            }

            //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!");
            lst.Add(pair);
            monitor_Exit(events);


            return(true);
        }
Пример #2
0
        public static bool registerOutMsg(object obj, NetEventFunction fun)
        {
            string funcname = fun.GetType().Name;

            return(register(events_out, funcname, obj, funcname));
        }