Exemplo n.º 1
0
 void CreateChooseLevelOverlay()
 {
     chooseLevelOverlay = new MapOverlay();
     levelItems         = new Dictionary <MapOverlayImageItem, MapOverlayTextItem>();
     levelSelectorItems = new Dictionary <MapOverlayTextItem, MapOverlayTextItem>();
     foreach (string levelName in this.levelNames)
     {
         string levelIconName         = levelName.ToLower().Replace(' ', '_');
         MapOverlayImageItem iconItem = new MapOverlayImageItem()
         {
             Image = CommonExtension.GetResourceImage("FlagsGame", levelIconName + ".png"), JoiningOrientation = Orientation.Horizontal, Padding = new Padding(37, 20, 37, 20)
         };
         MapOverlayTextItem nameItem = new MapOverlayTextItem()
         {
             Text = levelName.ToUpper(), Size = new Size(80, 0), Padding = new Padding(0, 20, 0, 20), TextAlignment = ContentAlignment.BottomCenter
         };
         nameItem.TextStyle.Font       = FontsCollection["level"];
         nameItem.HotTrackedStyle.Fill = ChooseLevelBackgroundColor;
         MapOverlayTextItem selectorItem = new MapOverlayTextItem();
         selectorItem.HotTrackedStyle.Fill = ChooseLevelBackgroundColor;
         this.levelItems.Add(iconItem, nameItem);
         this.levelSelectorItems.Add(nameItem, selectorItem);
     }
     chooseLevelOverlay.Items.AddRange(this.levelItems.Keys);
     chooseLevelOverlay.Items.AddRange(this.levelItems.Values);
     chooseLevelOverlay.Items.AddRange(this.levelSelectorItems.Values);
 }
Exemplo n.º 2
0
        static MapOverlay CreateBingLogoOverlay()
        {
            MapOverlay overlay = new MapOverlay()
            {
                Alignment = ContentAlignment.BottomLeft, Margin = new Padding(10, 0, 0, 10)
            };
            MapOverlayImageItem logoItem = new MapOverlayImageItem()
            {
                Padding = new Padding()
            };

            overlay.Items.Add(logoItem);
            return(overlay);
        }
Exemplo n.º 3
0
 void CreateCountryGameOverlay()
 {
     countryFlagOverlay = new MapOverlay()
     {
         Alignment = ContentAlignment.TopLeft, Margin = new Padding(12, 12, 0, 0)
     };
     countryName = new MapOverlayTextItem()
     {
         Alignment = ContentAlignment.BottomCenter, TextAlignment = ContentAlignment.MiddleCenter, Padding = new Padding(12, 0, 12, 15), Size = new Size(150, 0)
     };
     countryName.TextStyle.Font = FontsCollection["bold"];
     flagItem = new MapOverlayImageItem()
     {
         Alignment = ContentAlignment.TopCenter, Padding = new Padding(20)
     };
     countryFlagOverlay.Items.AddRange(new MapOverlayItemBase[] { countryName, flagItem });
 }
Exemplo n.º 4
0
        protected internal virtual void UpdateMapOverlay(SCMap map)
        {
            if (Position != null && Position.Length != 2)
            {
                throw new Exception("Position shall be an integer array with 2 elements.");
            }
            if (Margin != null && Margin.Length != 4 && Margin.Length != 1)
            {
                throw new Exception("Margin shall be an integer array with 1 or 4 elements.");
            }
            if (Padding != null && Padding.Length != 4 && Padding.Length != 1)
            {
                throw new Exception("Padding shall be an integer array with 1 or 4 elements.");
            }
            if (Size != null && Size.Length != 2)
            {
                throw new Exception("Size shall be an integer array with 2 elements.");
            }

            if (ImageMargin != null && ImageMargin.Length != 4 && ImageMargin.Length != 1)
            {
                throw new Exception("ImageMargin shall be an integer array with 1 or 4 elements.");
            }
            if (ImagePadding != null && ImagePadding.Length != 4 && ImagePadding.Length != 1)
            {
                throw new Exception("ImagePadding shall be an integer array with 1 or 4 elements.");
            }

            if (TextMargin != null && TextMargin.Length != 4 && TextMargin.Length != 1)
            {
                throw new Exception("TextMargin shall be an integer array with 1 or 4 elements.");
            }
            if (TextPadding != null && TextPadding.Length != 4 && TextMargin.Length != 1)
            {
                throw new Exception("TextPadding shall be an integer array with 1 or 4 elements.");
            }

            var overlay = new MapOverlay();

            if (Alignment.HasValue)
            {
                overlay.Alignment = Alignment.Value;
            }

            var backColor = Utils.ColorFromString(BackColor);

            if (backColor != Color.Empty)
            {
                overlay.BackgroundStyle.Fill = backColor;
            }

            if (Position != null)
            {
                overlay.Location = new Point(Position[0], Position[1]);
            }
            if (Margin != null)
            {
                overlay.Margin = GetPadding(Margin);
            }
            if (Padding != null)
            {
                overlay.Padding = GetPadding(Padding);
            }
            if (Size != null)
            {
                overlay.Size = new Size(Size[0], Size[1]);
            }

            if (Image != null || !string.IsNullOrWhiteSpace(ImageFile) || ImageIndex.HasValue)
            {
                var imageItem = new MapOverlayImageItem();
                if (ImageAlignment.HasValue)
                {
                    imageItem.Alignment = ImageAlignment.Value;
                }

                if (ImageMargin != null)
                {
                    imageItem.Margin = GetPadding(ImageMargin);
                }
                if (ImagePadding != null)
                {
                    imageItem.Padding = GetPadding(ImagePadding);
                }

                if (Image != null)
                {
                    imageItem.Image = Image;
                }
                else if (!string.IsNullOrWhiteSpace(ImageFile))
                {
                    var imageFile = Project.Current.MapPath(ImageFile);
                    if (string.IsNullOrWhiteSpace(imageFile) || !File.Exists(ImageFile))
                    {
                        throw new Exception($"Cannot find file: {ImageFile}");
                    }

                    imageItem.ImageUri = new Uri($"file://{imageFile}");
                }
                else if (ImageIndex.HasValue)
                {
                    imageItem.ImageIndex = ImageIndex.Value;
                }

                if (backColor != Color.Empty)
                {
                    imageItem.BackgroundStyle.Fill = backColor;
                }

                overlay.Items.Add(imageItem);
            }

            if (!string.IsNullOrWhiteSpace(Text))
            {
                if (TextAlignment == 0)
                {
                    TextAlignment = (Image != null || !string.IsNullOrWhiteSpace(ImageFile) || ImageIndex.HasValue) ? ContentAlignment.MiddleRight : ContentAlignment.MiddleCenter;
                }

                var textItem = new MapOverlayTextItem();
                if (TextAlignment.HasValue)
                {
                    textItem.Alignment = TextAlignment.Value;
                }

                if (TextMargin != null)
                {
                    textItem.Margin = GetPadding(TextMargin);
                }
                if (TextPadding != null)
                {
                    textItem.Padding = GetPadding(TextPadding);
                }
                textItem.Text = Text;

                var font = Utils.StringToFont(Font, out Color foreColor);
                if (font != null)
                {
                    textItem.TextStyle.Font = font;
                }
                if (foreColor != Color.Empty)
                {
                    textItem.TextStyle.TextColor = foreColor;
                }
                else if (backColor == Color.Empty)
                {
                    textItem.TextStyle.TextColor = Color.White;
                }

                if (backColor != Color.Empty)
                {
                    textItem.BackgroundStyle.Fill = backColor;
                }

                overlay.Items.Add(textItem);
            }

            map.Map.Overlays.Add(overlay);
            map.Map.PrintOptions.PrintOverlays = true;
Exemplo n.º 5
0
        void CreateOperationGameOverlay()
        {
            restartGameOverlay = new MapOverlay()
            {
                Alignment = ContentAlignment.TopRight, JoiningOrientation = Orientation.Vertical, Margin = new Padding(0, 12, 12, 0)
            };
            MapOverlayImageItem restartIcon = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "restart.png"), Margin = new Padding(10, 6, 7, 6)
            };

            restartGameItem = new MapOverlayTextItem()
            {
                Text = "RESTART GAME", Alignment = ContentAlignment.TopLeft, Margin = new Padding(1), Padding = new Padding(6), Size = new Size(110, 0)
            };
            restartGameItem.TextStyle.Font       = FontsCollection["nav_button"];
            restartGameItem.HotTrackedStyle.Fill = HotTrackedColor;
            restartGameOverlay.Items.AddRange(new MapOverlayItemBase[] { restartIcon, restartGameItem });

            finishGameOverlay = new MapOverlay()
            {
                Alignment = ContentAlignment.TopRight, JoiningOrientation = Orientation.Vertical, Margin = new Padding(0, 0, 12, 0)
            };
            MapOverlayImageItem finishIcon = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "finish.png"), Margin = new Padding(10, 6, 7, 6)
            };

            finishGameItem = new MapOverlayTextItem()
            {
                Text = "FINISH GAME", Alignment = ContentAlignment.TopLeft, Margin = new Padding(1), Padding = new Padding(6), Size = new Size(110, 0)
            };
            finishGameItem.TextStyle.Font       = FontsCollection["nav_button"];
            finishGameItem.HotTrackedStyle.Fill = HotTrackedColor;
            finishGameOverlay.Items.AddRange(new MapOverlayItemBase[] { finishIcon, finishGameItem });

            skipCountryOverlay = new MapOverlay()
            {
                Alignment = ContentAlignment.TopRight, JoiningOrientation = Orientation.Vertical, Margin = new Padding(0, 12, 12, 0)
            };
            MapOverlayImageItem skipIcon = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "skip.png"), Margin = new Padding(10, 6, 7, 6)
            };

            skipCountryItem = new MapOverlayTextItem()
            {
                Text = "SKIP COUNTRY", Alignment = ContentAlignment.TopLeft, Margin = new Padding(1), Padding = new Padding(6), Size = new Size(110, 0)
            };
            skipCountryItem.TextStyle.Font       = FontsCollection["nav_button"];
            skipCountryItem.HotTrackedStyle.Fill = HotTrackedColor;
            skipCountryOverlay.Items.AddRange(new MapOverlayItemBase[] { skipIcon, skipCountryItem });

            showCountryOverlay = new MapOverlay()
            {
                Alignment = ContentAlignment.TopRight, JoiningOrientation = Orientation.Vertical, Margin = new Padding(0, 0, 12, 0)
            };
            MapOverlayImageItem showIcon = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "show.png"), Margin = new Padding(10, 6, 7, 6)
            };

            showCountryItem = new MapOverlayTextItem()
            {
                Text = "SHOW COUNTRY", Alignment = ContentAlignment.TopLeft, Margin = new Padding(1), Padding = new Padding(6), Size = new Size(110, 0)
            };
            showCountryItem.TextStyle.Font       = FontsCollection["nav_button"];
            showCountryItem.HotTrackedStyle.Fill = HotTrackedColor;
            showCountryOverlay.Items.AddRange(new MapOverlayItemBase[] { showIcon, showCountryItem });
        }
Exemplo n.º 6
0
        void CreateStatisticGameOverlay()
        {
            statisticGameOverlay = new MapOverlay()
            {
                JoiningOrientation = Orientation.Vertical, Padding = new Padding(15, 3, 10, 3), Margin = new Padding(0, 0, 0, 7)
            };
            scoreImage = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "score.png"), Margin = new Padding(8, 12, 10, 12)
            };
            scoreLabel = new MapOverlayTextItem()
            {
                Text = "Score:", Padding = new Padding(0, 10, 5, 10)
            };
            scoreLabel.TextStyle.Font = FontsCollection["default"];
            scoreItem = new MapOverlayTextItem()
            {
                Padding = new Padding(0, 10, 10, 10)
            };
            scoreItem.TextStyle.Font = FontsCollection["default"];

            MapOverlayImageItem winsImage = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "wins.png"), Margin = new Padding(8, 12, 10, 12)
            };
            MapOverlayTextItem winsLabel = new MapOverlayTextItem()
            {
                Text = "Wins:", Padding = new Padding(0, 10, 5, 10)
            };

            winsLabel.TextStyle.Font = FontsCollection["default"];
            winsItem = new MapOverlayTextItem()
            {
                Padding = new Padding(0, 10, 10, 10)
            };
            winsItem.TextStyle.Font = FontsCollection["default"];

            MapOverlayImageItem lossesImage = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "loses.png"), Margin = new Padding(8, 12, 10, 12)
            };
            MapOverlayTextItem lossesLabel = new MapOverlayTextItem()
            {
                Text = "Losses:", Padding = new Padding(0, 10, 5, 10)
            };

            lossesLabel.TextStyle.Font = FontsCollection["default"];
            lossesItem = new MapOverlayTextItem()
            {
                Padding = new Padding(0, 10, 10, 10)
            };
            lossesItem.TextStyle.Font = FontsCollection["default"];

            timeImage = new MapOverlayImageItem()
            {
                Image = CommonExtension.GetResourceImage("FlagsGame", "time.png"), Margin = new Padding(8, 12, 10, 12)
            };
            timeLabel = new MapOverlayTextItem()
            {
                Text = "Time:", Padding = new Padding(0, 10, 5, 10)
            };
            timeLabel.TextStyle.Font = FontsCollection["default"];
            timeItem = new MapOverlayTextItem()
            {
                Padding = new Padding(0, 10, 10, 10)
            };
            timeItem.TextStyle.Font = FontsCollection["default"];
            statisticGameOverlay.Items.AddRange(new MapOverlayItemBase[] { scoreImage, scoreLabel, scoreItem, winsImage, winsLabel, winsItem, lossesImage, lossesLabel, lossesItem, timeImage, timeLabel, timeItem });
        }