From 610fb794246e5751d752aaba860ff8909ec03a63 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Mon, 29 Jun 2020 13:00:49 +0200 Subject: [PATCH] added "while you were away" message --- .../Content/Localization/Localization.de.json | 2 ++ .../Content/Localization/Localization.json | 4 ++- TouchyTickets/Content/Textures/Ui.aseprite | Bin 3424 -> 3493 bytes TouchyTickets/Content/Textures/Ui.png | Bin 5499 -> 5609 bytes TouchyTickets/GameImpl.cs | 12 ++++++-- TouchyTickets/Options.cs | 2 ++ TouchyTickets/Ui.cs | 26 ++++++++++++++++-- 7 files changed, 39 insertions(+), 7 deletions(-) diff --git a/TouchyTickets/Content/Localization/Localization.de.json b/TouchyTickets/Content/Localization/Localization.de.json index c6e8f33..b7c7763 100644 --- a/TouchyTickets/Content/Localization/Localization.de.json +++ b/TouchyTickets/Content/Localization/Localization.de.json @@ -13,6 +13,8 @@ "RainingTicketLimit": "Max. Fallende Tickets", "SoundVolume": "Lautstärke", "AGameByEllpeck": "Ein Spiel von Ellpeck", + "WhileYouWereAway": "Während du weg warst, hast du mit halber Geschwindigkeit verkauft. Du warst für {0} Minuten weg und hast währenddessen {1} verkauft. Yay!", + "WhileYouWereAwayMessage": "Offline-Zusammenfassung", "----- Tutorial -----": "", "Tutorial1": "Hi! Willkommen zu Touchy Tickets. Um das Spiel zu starten, tippe einfach den Ticket-Laden an, um ein zu verkaufen. Verkaufe erstmal 50!", "Tutorial2": "Super! Jetzt kannst du deine erste Attraktion kaufen. Wechsel durch Wischen zum rechten Menü und kaufe ein Karussell.", diff --git a/TouchyTickets/Content/Localization/Localization.json b/TouchyTickets/Content/Localization/Localization.json index 8e7e44d..e5aed2f 100644 --- a/TouchyTickets/Content/Localization/Localization.json +++ b/TouchyTickets/Content/Localization/Localization.json @@ -12,7 +12,9 @@ "Options": "Options", "RainingTicketLimit": "Max Raining Tickets", "SoundVolume": "Sound Volume", - "AGameByEllpeck":"A game by Ellpeck", + "AGameByEllpeck": "A game by Ellpeck", + "WhileYouWereAway": "While you were away, you sold at half the regular speed. You were away for {0} minutes and sold {1} during that time. Nice!", + "WhileYouWereAwayMessage": "Display Offline Summary", "----- Tutorial -----": "", "Tutorial1": "Hi! Welcome to Touchy Tickets. To start the game, simply tap the ticket booth to sell a . Start by racking up 50!", "Tutorial2": "Great! Now, you can buy your first attraction. Access the menu on the right by swiping and purchase a carousel.", diff --git a/TouchyTickets/Content/Textures/Ui.aseprite b/TouchyTickets/Content/Textures/Ui.aseprite index 3d3d7ee3a563e18457efa0464b25c2f220298dfc..5c0d65a888f4e180eab5b17f3b7b5f2be8c8de09 100644 GIT binary patch delta 2988 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 y_Vd6SxRdPVj(msp)?W$3@J9O>-kky!Zv diff --git a/TouchyTickets/Content/Textures/Ui.png b/TouchyTickets/Content/Textures/Ui.png index a42ada87d8a352431ac6a674e32cb3f5113c090c..d862bc94e354482ac1f717743e507481a46eb29c 100644 GIT binary patch delta 5353 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 AUH||9 diff --git a/TouchyTickets/GameImpl.cs b/TouchyTickets/GameImpl.cs index 55d4848..db43d7c 100644 --- a/TouchyTickets/GameImpl.cs +++ b/TouchyTickets/GameImpl.cs @@ -77,9 +77,15 @@ namespace TouchyTickets { if (this.LastUpdate != default) { var passed = now - this.LastUpdate; // if more than 1 second passed, the app is minimized or a save was loaded, so we penalize - if (passed.TotalSeconds >= 1) - passed = new TimeSpan(passed.Ticks / 2); - this.Map.Update(gameTime, passed); + var toSimulate = passed.TotalSeconds >= 1 ? new TimeSpan(passed.Ticks / 2) : passed; + + var lastTickets = this.Tickets; + this.Map.Update(gameTime, toSimulate); + var generated = this.Tickets - lastTickets; + + // if 10 or more seconds passed, we display a message + if (Options.Instance.WhileYouWereAwayMessage && passed.TotalSeconds >= 10 && generated > 0) + Ui.DisplayWhileYouWereAway(passed, generated); } this.LastUpdate = now; diff --git a/TouchyTickets/Options.cs b/TouchyTickets/Options.cs index d65e3cb..e19be28 100644 --- a/TouchyTickets/Options.cs +++ b/TouchyTickets/Options.cs @@ -20,6 +20,8 @@ namespace TouchyTickets { } } private float soundVolume = 1; + [DataMember] + public bool WhileYouWereAwayMessage = true; public static void Save() { var file = GetOptionsFile(true); diff --git a/TouchyTickets/Ui.cs b/TouchyTickets/Ui.cs index 541b84c..5820bec 100644 --- a/TouchyTickets/Ui.cs +++ b/TouchyTickets/Ui.cs @@ -31,6 +31,8 @@ namespace TouchyTickets { public Ui(UiSystem uiSystem) { this.uiSystem = uiSystem; + foreach (var modifier in AttractionModifier.Modifiers.Values) + this.uiSystem.TextFormatter.AddImage(modifier.Name, Assets.UiTexture[modifier.Texture]); // main ticket store ui var rainingTickets = new List(); @@ -382,6 +384,13 @@ namespace TouchyTickets { Options.Save(); } }); + optionList.AddChild(new Checkbox(Anchor.AutoLeft, new Vector2(1, 20), Localization.Get("WhileYouWereAwayMessage"), Options.Instance.WhileYouWereAwayMessage) { + PositionOffset = new Vector2(0, 1), + OnCheckStateChange = (b, value) => { + Options.Instance.WhileYouWereAwayMessage = value; + Options.Save(); + } + }); this.uiSystem.Add("Options", optionsUi); this.swipeRelations = new Element[] {optionsUi, upgradeUi, main, buyUi, modifierUi}; @@ -444,14 +453,13 @@ namespace TouchyTickets { uiSystem.AutoScaleWithScreen = true; uiSystem.AutoScaleReferenceSize = new Point(720, 1280); uiSystem.Style.Font = new GenericSpriteFont(Assets.Font); - uiSystem.Style.PanelTexture = uiSystem.Style.ScrollBarBackground = new NinePatch(Assets.UiTexture[2, 1], 4); + uiSystem.Style.PanelTexture = uiSystem.Style.ScrollBarBackground = uiSystem.Style.CheckboxTexture = new NinePatch(Assets.UiTexture[2, 1], 4); uiSystem.Style.ButtonTexture = uiSystem.Style.ScrollBarScrollerTexture = new NinePatch(Assets.UiTexture[3, 1], 4); + uiSystem.Style.CheckboxCheckmark = Assets.UiTexture[4, 1]; uiSystem.Style.TextScale = 0.1F; uiSystem.Style.ActionSound = new SoundEffectInfo(Assets.ClickSound, 0.5F); uiSystem.TextFormatter.AddImage("ticket", Assets.UiTexture[2, 0]); uiSystem.TextFormatter.AddImage("star", Assets.UiTexture[3, 0]); - foreach (var modifier in AttractionModifier.Modifiers.Values) - uiSystem.TextFormatter.AddImage(modifier.Name, Assets.UiTexture[modifier.Texture]); } public static IEnumerator DisplaySplash(Action loadGame) { @@ -499,6 +507,18 @@ namespace TouchyTickets { splash.System.Remove(splash.Root.Name); } + public static void DisplayWhileYouWereAway(TimeSpan passed, BigInteger ticketsGenerated) { + var infoBox = new Group(Anchor.TopLeft, Vector2.One, false) { + OnDrawn = (e2, time, batch, alpha) => batch.Draw(batch.GetBlankTexture(), e2.DisplayArea, Color.Black * 0.35F) + }; + var panel = infoBox.AddChild(new Panel(Anchor.Center, new Vector2(0.8F), Vector2.Zero, true)); + panel.AddChild(new Paragraph(Anchor.AutoLeft, 1, string.Format(Localization.Get("WhileYouWereAway"), passed.TotalMinutes.ToString("0.#"), PrettyPrintNumber(ticketsGenerated)))); + panel.AddChild(new Button(Anchor.AutoLeft, new Vector2(1, 30), Localization.Get("Okay")) { + OnPressed = e2 => e2.System.Remove(e2.Root.Name) + }); + GameImpl.Instance.UiSystem.Add("WhileYouWereAway", infoBox); + } + private void FadeUi(bool fadeOut, Action after = null) { IEnumerator Impl() { // disable input handling during fade