Example #1
0
        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);
            }
        }
Example #2
0
        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();
        }