Пример #1
0
		private void Dispatcher_NewGroupEvent(object sender, GroupEventEventAgrs args)
		{
			bool flag = false;
			try
			{
				Monitor.Enter(this, ref flag);
				if (args.GroupEvent.Group != null)
				{
					Group group = this.framework.groupManager.Groups[args.GroupEvent.Group.Id];
					group.OnNewGroupEvent(args.GroupEvent);
					List<IGroupListener> list = this.listenerTable[args.GroupEvent.Group.Id];
					if (list != null)
					{
						foreach (IGroupListener current in list)
						{
							current.Queue.Enqueue(args.GroupEvent);
						}
					}
				}
			}
			finally
			{
				if (flag)
				{
					Monitor.Exit(this);
				}
			}
		}
Пример #2
0
        private void Dispatcher_NewGroupEvent(object sender, GroupEventEventAgrs args)
        {
            bool flag = false;

            try
            {
                Monitor.Enter(this, ref flag);
                if (args.GroupEvent.Group != null)
                {
                    Group group = this.framework.groupManager.Groups[args.GroupEvent.Group.Id];
                    group.OnNewGroupEvent(args.GroupEvent);
                    List <IGroupListener> list = this.listenerTable[args.GroupEvent.Group.Id];
                    if (list != null)
                    {
                        foreach (IGroupListener current in list)
                        {
                            current.Queue.Enqueue(args.GroupEvent);
                        }
                    }
                }
            }
            finally
            {
                if (flag)
                {
                    Monitor.Exit(this);
                }
            }
        }