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