示例#1
0
        private void Run()
        {
            if (!_Display.HasFort())
            {
                _Fort = _FortFactory.CreateFort();
                _Display.BuildFort(_Fort);
                for (int i = 0; i < _SpawnerPool.Count; i++)
                {
                    ISpawner s  = GetSpawner(i);
                    Thread   th = new Thread(new ThreadStart(s.Run));
                    th.Start();
                }
            }
            while (_Running)
            {
                if (_Fort.isDead())
                {
                    foreach (var entry in _Livables)
                    {
                        entry.Key.Die();
                    }

                    //_Livables.Clear();
                    _AnimationQueue.Clear();

                    foreach (var entry in _SpawnerPool)
                    {
                        entry.Stop();
                    }
                    Display.End();
                    Display.Gameover();
                    _Running = false;
                }
            }
        }