private void updateControls()
        {
            WaveStackPanel.Children.Clear();

            for (int i = 0; i < gameLevel.Waves.Count; ++i)
            {
                MonsterWave wave = gameLevel.Waves[i];

                GameWavePresenterControl wavePresenter = new GameWavePresenterControl();
                WaveStackPanel.Children.Add(wavePresenter);
                wavePresenter.SetWave(wave);
            }
        }
        private void updateProgress()
        {
            if (gameLevel != null)
            {
                if (gameLevel.Status == GameLevel.LevelStatus.InProgress)
                {
                    int wave = gameLevel.ActiveWave;
                    GameWavePresenterControl wavePresenter = WaveStackPanel.Children[wave] as GameWavePresenterControl;

                    double sumWidthBefore = 0.0;
                    for (int i = 0; i < wave; i++)
                    {
                        sumWidthBefore += (WaveStackPanel.Children[i] as GameWavePresenterControl).ActualWidth;
                    }

                    WaveStackPanel.Margin = new Thickness(-1 * (sumWidthBefore + gameLevel.GetWaveProgress() * wavePresenter.ActualWidth), 0, 0, 0);
                }
            }
        }