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; } } }