private static void AddComplimentColor(Compliment c, ComplimentType type)
        {
            Color yellow = (Color)ColorConverter.ConvertFromString("#CCACAC0A");
            Color green  = (Color)ColorConverter.ConvertFromString("#CC0AA2B1");
            Color blue   = (Color)ColorConverter.ConvertFromString("#CC0AB138");
            Color pink   = (Color)ColorConverter.ConvertFromString("#CCDD75E8");

            switch (type)
            {
            case ComplimentType.WOW:
                c.border.Background = new SolidColorBrush(yellow);
                c.message.Content   = "WOW!";
                break;

            case ComplimentType.NICE:
                c.border.Background = new SolidColorBrush(blue);
                c.message.Content   = "Nice!";
                break;

            case ComplimentType.COOL:
                c.border.Background = new SolidColorBrush(green);
                c.message.Content   = "Cool!";
                break;

            case ComplimentType.THANKS:
                c.border.Background = new SolidColorBrush(pink);
                c.message.Content   = "Thanks!";
                break;

            default:
                c.border.Background = new SolidColorBrush(yellow);
                c.message.Content   = "WOW!";
                break;
            }
        }
        public static void CreateNewCompliment(ComplimentType type, Canvas area)
        {
            Compliment c = new Compliment();

            AddComplimentColor(c, type);

            SetRandomPosition(c, area);

            StartAnimationTimer(c, 2, 1);
        }
        private static void StartAnimationTimer(Compliment c, double startTime = 2, double duration = 1)
        {
            var animation = new DoubleAnimation
            {
                To           = 0,
                BeginTime    = TimeSpan.FromSeconds(startTime),
                Duration     = TimeSpan.FromSeconds(duration),
                FillBehavior = FillBehavior.Stop
            };

            animation.Completed += (s, a) => c.border.Opacity = 0;

            c.border.BeginAnimation(UIElement.OpacityProperty, animation);
        }
        private static void SetRandomPosition(Compliment c, Canvas area)
        {
            //int offsetX = (int)c.message.ActualWidth;
            //int offsetY = (int)c.message.ActualHeight;
            int offsetX = 50;
            int offsetY = 25;
            int width   = (int)area.ActualWidth;
            int height  = (int)area.ActualHeight;

            int x = random.Next(0, width - offsetX);
            int y = random.Next(0, height - offsetY);

            area.Children.Add(c.border);

            c.border.Margin = new Thickness(x, y, 0, 0);
        }