Пример #1
0
 public static void Destroy(IWorker worker)
 {
     lock (ListActiveWorkers)
     {
         if (ListActiveWorkers.Contains(worker))
         {
             ListActiveWorkers.Remove(worker);
         }
     }
 }
Пример #2
0
        public static T AddWorker <T>() where T : IWorker
        {
            try
            {
                T worker = (T)Activator.CreateInstance(typeof(T), true);
                worker.Awake();
                lock (ListActiveWorkers)
                {
                    ListActiveWorkers.Add(worker);
                }
                return(worker);
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.WriteLine($"Exception in {typeof(T)}.Awake() or CreateInstance: ");
                Console.WriteLine(ex);
                Console.ResetColor();
            }

            return(default(T));
        }