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); }
void CreateNewGameOverlay() { newGameOverlay = new MapOverlay() { Alignment = ContentAlignment.MiddleCenter, Padding = new Padding(30) }; MapOverlayTextItem titleText = new MapOverlayTextItem() { Text = "New Game", Alignment = ContentAlignment.TopCenter, JoiningOrientation = Orientation.Vertical, TextAlignment = ContentAlignment.MiddleCenter, Padding = new Padding(35, 0, 35, 12) }; titleText.TextStyle.Font = FontsCollection["title"]; MapOverlayTextItem infoText = new MapOverlayTextItem() { Text = "Choose your level", Alignment = ContentAlignment.TopCenter, JoiningOrientation = Orientation.Vertical, TextAlignment = ContentAlignment.MiddleCenter, Padding = new Padding(35, 0, 35, 130), Size = new Size(470, 0) }; infoText.TextStyle.Font = FontsCollection["note"]; levelDescItem = new MapOverlayTextItem() { Alignment = ContentAlignment.BottomCenter, JoiningOrientation = Orientation.Vertical, TextAlignment = ContentAlignment.MiddleCenter, Margin = new Padding(0, 30, 0, 30), Size = new Size(500, 0) }; levelDescItem.TextStyle.Font = FontsCollection["default"]; startGameItem = new MapOverlayTextItem() { Text = "START GAME", Alignment = ContentAlignment.BottomCenter, JoiningOrientation = Orientation.Vertical, TextAlignment = ContentAlignment.MiddleCenter, Padding = new Padding(20, 10, 20, 10) }; startGameItem.TextStyle.Font = FontsCollection["button"]; startGameItem.TextStyle.TextColor = Color.White; startGameItem.BackgroundStyle.Fill = Color.FromArgb(0x74, 0x9F, 0xDF); startGameItem.HotTrackedStyle.Fill = Color.FromArgb(0xAF, 0x74, 0x9F, 0xDF); newGameOverlay.Items.AddRange(new MapOverlayItemBase[] { titleText, infoText, startGameItem, levelDescItem }); }
void ChangeSelectionOverlayItem(MapOverlayTextItem levelItem, bool isSelect) { if (isSelect) { string key = levelItem.Text.ToLower(); this.levelDescItem.Text = levelDescriptions[key]; this.selectedLevelItem = levelItem; } levelSelectorItems[levelItem].BackgroundStyle.Fill = isSelect ? GetLevelColor() : ChooseLevelBackgroundColor; }
void CreateGameInfoOverlay() { infoOverlay = new MapOverlay() { Margin = new Padding(0, 12, 0, 0) }; infoTextItem = new MapOverlayTextItem() { TextAlignment = ContentAlignment.MiddleLeft, Padding = new Padding(20), Size = new Size(250, 0) }; infoTextItem.TextStyle.Font = FontsCollection["info"]; infoOverlay.Items.Add(infoTextItem); }
static MapOverlay CreateOSMCopyrightOverlay() { MapOverlay overlay = new MapOverlay() { Alignment = ContentAlignment.BottomRight, Margin = new Padding(0, 0, 10, 10) }; MapOverlayTextItem copyrightItem = new MapOverlayTextItem() { Padding = new Padding(5), Text = "© OpenStreetMap contributors" }; overlay.Items.Add(copyrightItem); return(overlay); }
static MapOverlay CreateBingCopyrightOverlay() { MapOverlay overlay = new MapOverlay() { Alignment = ContentAlignment.BottomRight, Margin = new Padding(0, 0, 10, 10) }; MapOverlayTextItem copyrightItem = new MapOverlayTextItem() { Padding = new Padding(5), Text = "Copyright © 2017 Microsoft and its suppliers. All rights reserved." }; overlay.Items.Add(copyrightItem); return(overlay); }
static MapOverlay CreateMedalsOverlay() { MapOverlay overlay = new MapOverlay() { Alignment = ContentAlignment.TopCenter, Margin = new Padding(10, 10, 10, 10) }; MapOverlayTextItem medalsItem = new MapOverlayTextItem() { Padding = new Padding(5), Text = "2016 Summer Olympics Medal Result" }; medalsItem.TextStyle.Font = new Font(AppearanceObject.DefaultFont.FontFamily, 16, FontStyle.Regular); overlay.Items.Add(medalsItem); return(overlay); }
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 }); }
void CreateScoreOverOverlay() { scoreOverOverlay = new MapOverlay() { Alignment = ContentAlignment.TopCenter, Margin = new Padding(0, 12, 0, 0), Padding = new Padding(0, 15, 0, 5) }; MapOverlayTextItem scoreOverLabel = new MapOverlayTextItem() { Text = "SCORE:" }; scoreOverLabel.TextStyle.Font = FontsCollection["score_over"]; scoreOverItem = new MapOverlayTextItem() { Padding = new Padding(10, 0, 0, 0) }; scoreOverItem.TextStyle.Font = FontsCollection["score_over"]; scoreOverOverlay.Items.AddRange(new MapOverlayItemBase[] { scoreOverLabel, scoreOverItem }); }
void CreateGameOverOverlay() { gameOverOverlay = new MapOverlay() { Alignment = ContentAlignment.MiddleCenter, JoiningOrientation = Orientation.Vertical, Padding = new Padding(20) }; MapOverlayTextItem titleText = new MapOverlayTextItem() { Text = "GAME OVER", Alignment = ContentAlignment.BottomCenter, JoiningOrientation = Orientation.Vertical, TextAlignment = ContentAlignment.MiddleCenter, Padding = new Padding(0, 0, 0, 15) }; titleText.TextStyle.Font = FontsCollection["title"]; newGameItem = new MapOverlayTextItem() { Text = "NEW GAME", Alignment = ContentAlignment.BottomCenter, JoiningOrientation = Orientation.Vertical, TextAlignment = ContentAlignment.MiddleCenter, Padding = new Padding(20, 10, 20, 10) }; newGameItem.TextStyle.Font = FontsCollection["button"]; newGameItem.TextStyle.TextColor = Color.White; newGameItem.BackgroundStyle.Fill = Color.FromArgb(0x40, 0xAB, 0x5B); newGameItem.HotTrackedStyle.Fill = Color.FromArgb(0xAF, 0x40, 0xAB, 0x5B); gameOverOverlay.Items.AddRange(new MapOverlayItemBase[] { newGameItem, titleText }); }
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;
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 }); }
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 }); }