Example #1
0
 private void NextLevel()
 {
     if (Level.LevelNumber == 3)
             Completed = true;
     _changingLevel = true;
     _scoresTimer = new GameTimer(TimeSpan.MaxValue);
     var effect = new ZoomingEffect(this, 1f, 0.6f, 0.4f);
     GameObjectCollection.Add(effect);
     _mainDevice.Enabled = false;
     _mainDevice.Visible = false;
     _mainDevice.CenterPosition = _playground.CenterPosition;
     _gameObjects.Add(new FireworkGenerator(this));
     effect.Disposed += (sender, args) =>
         {
             int nextLevelNumber = _level.LevelNumber + 1;
             if (nextLevelNumber > 3)
                 Completed = true;
             else
             {
                 StartLevel(nextLevelNumber);
                 _changingLevel = false;
             }
         };
 }
Example #2
0
 public void RestartGame(LossReason lossReason)
 {
     if (_changingLevel)
         return;
     switch (lossReason)
     {
         case LossReason.LastLifeSpent:
             _statisticsPanel.LastLifeSpent = true;
             break;
         case LossReason.TimeSpent:
             _statisticsPanel.TimeSpent = true;
             break;
     }
     _changingLevel = true;
     _statisticsPanel.TryAgain = true;
     var zoomingEffect = new ZoomingEffect(this, 1f, 3f, 1.7f);
     GameObjectCollection.Add(zoomingEffect);
     zoomingEffect.Disposed += (sender, args) =>
         {
             Lifes = 3;
             StartLevel(1);
             _changingLevel = false;
         };
 }