예제 #1
0
        public async Task StartHandle(string id, CancellationToken token)
        {
            Console.WriteLine($"start handling {id}");
            await mStartsLock.WaitAsync(token);

            Starts.Add(id);
            mStartsLock.Release();
        }
예제 #2
0
파일: IRC.cs 프로젝트: willoughbyb/IRCSharp
 public CharRange(byte[,] range)
     : this()
 {
     for (int i = 0; i < range.GetLength(0); i++)
     {
         Starts.Add((char)range[i, 0]);
         Ends.Add((char)range[i, 1]);
     }
 }
예제 #3
0
        private void HandlerEvent(BaseComponent component, EventType eventType)
        {
            if ((eventType & EventType.Awake) == EventType.Awake)
            {
                if (component.IsAwake)
                {
                    return;
                }

                component.Awake();
                component.IsAwake = true;
            }
            else if ((eventType & EventType.Start) == EventType.Start)
            {
                Starts.Add(component);
            }
            else if ((eventType & EventType.Update) == EventType.Update)
            {
                Updates.Add(component);
            }
        }
예제 #4
0
파일: IRC.cs 프로젝트: willoughbyb/IRCSharp
 /// <summary>
 /// Gets or sets the start and end of the range at the specified index.
 /// </summary>
 /// <param name="i"></param>
 /// <returns></returns>
 public KeyValuePair <char, char> this[int i]
 {
     get
     {
         var kvp = new KeyValuePair <char, char>(Starts[i], Ends[i]);
         return(kvp);
     }
     set
     {
         if (Starts.Count <= i)
         {
             Starts[i] = value.Key;
             Ends[i]   = value.Value;
         }
         else
         {
             Starts.Add(value.Key);
             Ends.Add(value.Value);
         }
     }
 }