From 88806e93a4e934946c244a5f4e59de31314feb5f Mon Sep 17 00:00:00 2001 From: AlanMoonbase Date: Mon, 23 Jun 2025 14:03:57 -0700 Subject: [PATCH] Implement Jackpot Win Animation (> 200) Change Currency Name To "Q's" (i could probably come up with a better name here) --- qtc-net-client-2/Anims/left-horn-animated.gif | Bin 0 -> 14169 bytes .../Anims/right-horn-animated.gif | Bin 0 -> 15024 bytes .../Forms/TokenJackpotSpinner.Designer.cs | 45 +++++++++++++++--- qtc-net-client-2/Forms/TokenJackpotSpinner.cs | 32 +++++++++++-- .../Properties/Resources.Designer.cs | 20 ++++++++ qtc-net-client-2/Properties/Resources.resx | 10 +++- qtc-net-client-2/Services/AudioService.cs | 19 ++++++++ 7 files changed, 113 insertions(+), 13 deletions(-) create mode 100644 qtc-net-client-2/Anims/left-horn-animated.gif create mode 100644 qtc-net-client-2/Anims/right-horn-animated.gif diff --git a/qtc-net-client-2/Anims/left-horn-animated.gif b/qtc-net-client-2/Anims/left-horn-animated.gif new file mode 100644 index 0000000000000000000000000000000000000000..23e093e0bc5e1d17e07c5a97ea4d2805cebe48da GIT binary patch literal 14169 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 a*MI-@1pf5|{`Ca@^#uO)1pa?`0{;VKd4kCR literal 0 HcmV?d00001 diff --git a/qtc-net-client-2/Forms/TokenJackpotSpinner.Designer.cs b/qtc-net-client-2/Forms/TokenJackpotSpinner.Designer.cs index 7c39bb2..cb2af41 100644 --- a/qtc-net-client-2/Forms/TokenJackpotSpinner.Designer.cs +++ b/qtc-net-client-2/Forms/TokenJackpotSpinner.Designer.cs @@ -30,23 +30,27 @@ { lblTokensWon = new Label(); btnClaim = new Button(); + pbHornLeft = new PictureBox(); + pbHornRight = new PictureBox(); + ((System.ComponentModel.ISupportInitialize)pbHornLeft).BeginInit(); + ((System.ComponentModel.ISupportInitialize)pbHornRight).BeginInit(); SuspendLayout(); // // lblTokensWon // - lblTokensWon.AutoSize = true; + lblTokensWon.AutoEllipsis = true; lblTokensWon.Font = new Font("Segoe UI Black", 13F); - lblTokensWon.Location = new Point(137, 30); + lblTokensWon.Location = new Point(145, 33); lblTokensWon.Name = "lblTokensWon"; - lblTokensWon.Size = new Size(137, 25); + lblTokensWon.Size = new Size(129, 25); lblTokensWon.TabIndex = 0; - lblTokensWon.Text = "0 Tokens Won"; + lblTokensWon.Text = "300 Q's Won"; lblTokensWon.TextAlign = ContentAlignment.MiddleCenter; // // btnClaim // btnClaim.Enabled = false; - btnClaim.Location = new Point(167, 76); + btnClaim.Location = new Point(173, 72); btnClaim.Name = "btnClaim"; btnClaim.Size = new Size(75, 23); btnClaim.TabIndex = 1; @@ -54,12 +58,36 @@ btnClaim.UseVisualStyleBackColor = true; btnClaim.Click += btnClaim_Click; // + // pbHornLeft + // + pbHornLeft.Image = Properties.Resources.right_horn_animated; + pbHornLeft.Location = new Point(12, 8); + pbHornLeft.Name = "pbHornLeft"; + pbHornLeft.Size = new Size(80, 100); + pbHornLeft.SizeMode = PictureBoxSizeMode.Zoom; + pbHornLeft.TabIndex = 2; + pbHornLeft.TabStop = false; + pbHornLeft.Visible = false; + // + // pbHornRight + // + pbHornRight.Image = Properties.Resources.left_horn_animated; + pbHornRight.Location = new Point(337, 8); + pbHornRight.Name = "pbHornRight"; + pbHornRight.Size = new Size(78, 101); + pbHornRight.SizeMode = PictureBoxSizeMode.Zoom; + pbHornRight.TabIndex = 3; + pbHornRight.TabStop = false; + pbHornRight.Visible = false; + // // TokenJackpotSpinner // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; BackColor = Color.DodgerBlue; - ClientSize = new Size(427, 125); + ClientSize = new Size(427, 117); + Controls.Add(pbHornRight); + Controls.Add(pbHornLeft); Controls.Add(btnClaim); Controls.Add(lblTokensWon); DoubleBuffered = true; @@ -73,13 +101,16 @@ FormClosing += TokenJackpotSpinner_FormClosing; FormClosed += TokenJackpotSpinner_FormClosed; Load += TokenJackpotSpinner_Load; + ((System.ComponentModel.ISupportInitialize)pbHornLeft).EndInit(); + ((System.ComponentModel.ISupportInitialize)pbHornRight).EndInit(); ResumeLayout(false); - PerformLayout(); } #endregion private Label lblTokensWon; private Button btnClaim; + private PictureBox pbHornLeft; + private PictureBox pbHornRight; } } \ No newline at end of file diff --git a/qtc-net-client-2/Forms/TokenJackpotSpinner.cs b/qtc-net-client-2/Forms/TokenJackpotSpinner.cs index 2a3c8c9..a69c5d6 100644 --- a/qtc-net-client-2/Forms/TokenJackpotSpinner.cs +++ b/qtc-net-client-2/Forms/TokenJackpotSpinner.cs @@ -26,12 +26,15 @@ namespace qtc_net_client_2.Forms { btnClaim.Enabled = false; AllowClose = false; + + _audioService.OnSoundEnded += _audioService_OnSoundEnded; await StartSpinAnimation(lblTokensWon); } private void TokenJackpotSpinner_FormClosed(object sender, FormClosedEventArgs e) { DialogResult = DialogResult.OK; + _audioService.Dispose(); Close(); } @@ -46,6 +49,16 @@ namespace qtc_net_client_2.Forms Close(); } + private void _audioService_OnSoundEnded(object? sender, SoundEndedEventArgs e) + { + switch(e.EventString) + { + case "sndTokenWin": + DetermineWinAnim(); + break; + } + } + public async Task StartSpinAnimation(Label label) { if (label.IsHandleCreated) @@ -55,7 +68,7 @@ namespace qtc_net_client_2.Forms while (_audioService.OutputDevice?.PlaybackState == NAudio.Wave.PlaybackState.Playing) { - label.BeginInvoke(delegate () { label.Text = $"{rnd.Next(0, 300)} Tokens Won"; }); + label.BeginInvoke(delegate () { label.Text = $"{rnd.Next(0, 300)} Q's Won"; }); await Task.Delay(10); } @@ -63,15 +76,26 @@ namespace qtc_net_client_2.Forms label.BeginInvoke(delegate () { - label.Text = $"{win} Tokens Won"; + label.Text = $"{win} Q's Won"; btnClaim.Enabled = true; - _audioService.PlaySoundEffect("sndTokenWin"); + _audioService.PlaySoundEffectWithEventString("sndTokenWin", "sndTokenWin"); }); - _audioService.Dispose(); AllowClose = true; TokensWon = win; } } + + public void DetermineWinAnim() + { + switch(TokensWon) + { + case > 200: + pbHornLeft.BeginInvoke(delegate () { pbHornLeft.Visible = true; }); + pbHornRight.BeginInvoke(delegate () { pbHornRight.Visible = true; }); + _audioService.PlaySoundEffect("sndTokenJackpot"); + break; + } + } } } diff --git a/qtc-net-client-2/Properties/Resources.Designer.cs b/qtc-net-client-2/Properties/Resources.Designer.cs index c224803..63bca4a 100644 --- a/qtc-net-client-2/Properties/Resources.Designer.cs +++ b/qtc-net-client-2/Properties/Resources.Designer.cs @@ -140,6 +140,16 @@ namespace qtc_net_client_2.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap left_horn_animated { + get { + object obj = ResourceManager.GetObject("left-horn-animated", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -200,6 +210,16 @@ namespace qtc_net_client_2.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap right_horn_animated { + get { + object obj = ResourceManager.GetObject("right-horn-animated", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/qtc-net-client-2/Properties/Resources.resx b/qtc-net-client-2/Properties/Resources.resx index 8d7726e..d3e583e 100644 --- a/qtc-net-client-2/Properties/Resources.resx +++ b/qtc-net-client-2/Properties/Resources.resx @@ -118,6 +118,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Anims\right-horn-animated.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Icons\SendIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -139,6 +142,9 @@ ..\Icons\AwayIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Icons\CurrencyIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Icons\AddContactIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -160,7 +166,7 @@ ..\Icons\AcceptContactIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Icons\CurrencyIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Anims\left-horn-animated.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/qtc-net-client-2/Services/AudioService.cs b/qtc-net-client-2/Services/AudioService.cs index 942d28f..f3b02a8 100644 --- a/qtc-net-client-2/Services/AudioService.cs +++ b/qtc-net-client-2/Services/AudioService.cs @@ -12,6 +12,8 @@ namespace qtc_net_client_2.Services { public WaveOutEvent? OutputDevice { get; set; } public AudioFileReader? AudioFileReader { get; set; } + + public event EventHandler? OnSoundEnded; public void PlaySoundEffect(string soundName) { if (!File.Exists($"./Sounds/{soundName}.wav")) return; @@ -24,6 +26,18 @@ namespace qtc_net_client_2.Services return; } + public void PlaySoundEffectWithEventString(string soundName, string eventString) + { + if (!File.Exists($"./Sounds/{soundName}.wav")) return; + + OutputDevice = new WaveOutEvent(); + AudioFileReader = new AudioFileReader($"./Sounds/{soundName}.wav"); + OutputDevice.Init(AudioFileReader); + OutputDevice.Play(); + + OutputDevice.PlaybackStopped += (sender, args) => OnSoundEnded?.Invoke(null, new SoundEndedEventArgs { EventString = eventString }); + } + public void PlaySoundLooped(string soundName, int loopCount) { if (!File.Exists($"./Sounds/{soundName}.wav")) return; @@ -50,4 +64,9 @@ namespace qtc_net_client_2.Services if (AudioFileReader != null) { AudioFileReader.Dispose(); AudioFileReader = null; } } } + + public class SoundEndedEventArgs : EventArgs + { + public string EventString { get; set; } = "UNKNOWN"; + } }