Esempio n. 1
0
        protected override void OnStatusChanged(GameModuleStatus old)
        {
            switch (Status)
            {
            case GameModuleStatus.Dead:
                foreach (var item in dependencyWatchers)
                {
                    item.EnableRaisingEvents = false;
                }

                Interlocked.Exchange(ref taskThreadClosed, 1);
                taskThread.Join();
                taskQueue = null;
                break;

            case GameModuleStatus.Alive:
            case GameModuleStatus.Active:
                if (taskThread.IsAlive == false)
                {
                    taskQueue = new ConcurrentQueue <Action>();
                    Interlocked.Exchange(ref taskThreadClosed, 0);
                    taskThread.Start();
                }

                foreach (var item in dependencyWatchers)
                {
                    item.EnableRaisingEvents = true;
                }
                break;
            }
        }
Esempio n. 2
0
 protected virtual void OnStatusChanged(GameModuleStatus old)
 {
 }