public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return(null); } if (value is TileState) { TileState val = (TileState)value; if (val == TileState.Selected) { return(Colors.Red); } else if (val == TileState.Potential) { return(Colors.Yellow); } else { return(Colors.Black); } } else if (value is OverlayStates) { OverlayStates val = (OverlayStates)value; if (val == OverlayStates.selected) { return(new SolidColorBrush(Colors.Red)); } else if (val == OverlayStates.possible) { return(new SolidColorBrush(Colors.Yellow)); } else { return(new SolidColorBrush(Colors.Transparent)); } } else { return(null); } }
private void showOverlay(OverlayStates mode) { clickLock = true; // Just incase make sure we stop the buttons restartStoryboard.Stop(); continueStoryboard.Stop(); pauseLayer.Opacity = 0; pauseLayer.Visibility = Visibility.Visible; finalStats.Visibility = Visibility.Collapsed; TweenUtil.AnimateOutStageLeft(gameGuy); gameGuyLose.Visibility = gameGuyWin.Visibility = Visibility.Collapsed; // update display text String message = ""; elapsedTime.Text = "Total Time: " + secs.ToString() + "s"; switch (mode) { case OverlayStates.LOSE: { message = "FAILED DIG!"; finalBoneText.Text = "NO BONES COLLECTED"; retyButton.Visibility = Visibility.Visible; continueButton.Visibility = Visibility.Collapsed; restartStoryboard.Begin(); var mySolidColorBrush = new SolidColorBrush(); mySolidColorBrush.Color = Color.FromArgb(255, 230, 224, 59); finalMessageText.Foreground = mySolidColorBrush; gameState.ClearActiveGame(); gameGuyLose.Visibility = Visibility.Visible; TweenUtil.AnimateInStageLeft(gameGuyLose, .3); SoundUtil.PlayBackgroundLoop("Sounds/DirtSweeperLose.wav", 0.8f, false); break; } case OverlayStates.WIN: { foreach (var cover in covers) { if (cover.Visibility == Visibility.Visible) cover.Visibility = Visibility.Collapsed; } finalBoneText.Text = "TOTAL BONES COLLECTED " + game.Bones; message = "RATING"; //TODO need to do star rating retyButton.Visibility = Visibility.Collapsed; continueButton.Visibility = Visibility.Visible; continueStoryboard.Begin(); var mySolidColorBrush = new SolidColorBrush(); mySolidColorBrush.Color = Color.FromArgb(255, 255, 255, 255); finalMessageText.Foreground = mySolidColorBrush; gameState.UpdateTotalBones(game.Bones); gameState.ClearActiveGame(); gameGuyWin.Visibility = Visibility.Visible; CalculateRating(game.DifficultyLevel); TweenUtil.AnimateInStageLeft(gameGuyWin, .3); SoundUtil.PlayBackgroundLoop("Sounds/DirtSweeperWin.wav", 0.8f, false); break; } } finalMessageText.Text = message; var sb = new Storyboard(); var fade = new DoubleAnimation { Duration = new Duration(TimeSpan.FromSeconds(.3)), From = 0.0, To = 1.0, RepeatBehavior = new RepeatBehavior(1) }; fade.Completed += (s, _) => onShowOverlay(pauseLayer); Storyboard.SetTargetProperty(fade, new PropertyPath(OpacityProperty)); sb.Children.Add(fade); Storyboard.SetTarget(sb, pauseLayer); sb.Begin(); }