diff --git a/Basketball Scoreboard System.sln b/Basketball Scoreboard System.sln new file mode 100644 index 0000000..531eaa2 --- /dev/null +++ b/Basketball Scoreboard System.sln @@ -0,0 +1,50 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32929.385 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Basketball Scoreboard System", "Basketball Scoreboard System\Basketball Scoreboard System.csproj", "{6DBE2316-C761-4B9D-9E59-26F9D9429BA1}" +EndProject +Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{EA4348AD-06AE-4267-BFA2-CB1CCD84865E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Debug|x64.ActiveCfg = Debug|x64 + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Debug|x64.Build.0 = Debug|x64 + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Debug|x86.ActiveCfg = Debug|x86 + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Debug|x86.Build.0 = Debug|x86 + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Release|Any CPU.Build.0 = Release|Any CPU + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Release|x64.ActiveCfg = Release|x64 + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Release|x64.Build.0 = Release|x64 + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Release|x86.ActiveCfg = Release|x86 + {6DBE2316-C761-4B9D-9E59-26F9D9429BA1}.Release|x86.Build.0 = Release|x86 + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Debug|Any CPU.ActiveCfg = Debug + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Debug|x64.ActiveCfg = Debug + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Debug|x64.Build.0 = Debug + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Debug|x86.ActiveCfg = Debug + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Debug|x86.Build.0 = Debug + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Release|Any CPU.ActiveCfg = Release + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Release|Any CPU.Build.0 = Release + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Release|x64.ActiveCfg = Release + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Release|x64.Build.0 = Release + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Release|x86.ActiveCfg = Release + {EA4348AD-06AE-4267-BFA2-CB1CCD84865E}.Release|x86.Build.0 = Release + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2D258A86-CAE7-4F55-9DDF-44C688EF9273} + EndGlobalSection +EndGlobal diff --git a/Basketball Scoreboard System/App.config b/Basketball Scoreboard System/App.config new file mode 100644 index 0000000..ad085f0 --- /dev/null +++ b/Basketball Scoreboard System/App.config @@ -0,0 +1,30 @@ + + + + +
+ + + + + + HOME + + + AWAY + + + 600000 + + + 24000 + + + True + + + 5 + + + + \ No newline at end of file diff --git a/Basketball Scoreboard System/Basketball Scoreboard System.csproj b/Basketball Scoreboard System/Basketball Scoreboard System.csproj new file mode 100644 index 0000000..ac4a820 --- /dev/null +++ b/Basketball Scoreboard System/Basketball Scoreboard System.csproj @@ -0,0 +1,55 @@ + + + + WinExe + net6.0-windows + Basketball_Scoreboard_System + enable + true + enable + AnyCPU;x64;x86 + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PublicSettingsSingleFileGenerator + Settings.Designer.cs + + + + + + True + True + Resources.resx + + + True + True + Settings.settings + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + \ No newline at end of file diff --git a/Basketball Scoreboard System/Program.cs b/Basketball Scoreboard System/Program.cs new file mode 100644 index 0000000..acd08e1 --- /dev/null +++ b/Basketball Scoreboard System/Program.cs @@ -0,0 +1,53 @@ +using Basketball_Scoreboard_System.classes; +using Basketball_Scoreboard_System.forms; +using System.Drawing.Text; + +namespace Basketball_Scoreboard_System +{ + internal static class Program + { + public static AudienceWindow AudienceWindow = new(); + public static ControlPanel ControlPanel = new(); + + public static Team HomeTeam = new(true, false, true); + public static Team AwayTeam = new(false, true, false); + + public static Clock MainClock = new(Settings.Default.MainClockDefaultTime, false, true); + public static Clock ShotClock = new(Settings.Default.ShotClockDefaultTime, true, false); + + public static int Period = 1; + + [STAThread] + private static void Main() + { + if (!IsFontInstalled("DSEG7 Classic") || !IsFontInstalled("DSEG14 Classic") || !IsFontInstalled("Fira Mono")) MessageBox.Show("Required fonts are not installed.\nThey can be found in:\n" + Path.Combine(Application.StartupPath, "fonts\\"), "Warning", MessageBoxButtons.OK); + ApplicationConfiguration.Initialize(); + Application.Run(AudienceWindow); + } + + public static bool IsFontInstalled(string FontName) + { + InstalledFontCollection AllFonts = new(); + foreach (FontFamily Font in AllFonts.Families) + { + if (Font.Name == FontName) return true; + } + return false; + } + + public static Font GetFontSize(Graphics Graphics, string Text, Size MaxStringSize, Font LabelFont) + { + Font Font = new(LabelFont.Name, LabelFont.Size); + SizeF Size = Graphics.MeasureString(Text, Font); + + while (Size.Width != MaxStringSize.Width) + { + float NewSize = Font.Size * (MaxStringSize.Width / Size.Width); + Font = new(LabelFont.Name, NewSize); + Size = Graphics.MeasureString(Text, Font); + } + + return Font; + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/Properties/Resources.Designer.cs b/Basketball Scoreboard System/Properties/Resources.Designer.cs new file mode 100644 index 0000000..409f3cb --- /dev/null +++ b/Basketball Scoreboard System/Properties/Resources.Designer.cs @@ -0,0 +1,81 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Basketball_Scoreboard_System.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Basketball_Scoreboard_System.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream BuzzerMainClock { + get { + return ResourceManager.GetStream("BuzzerMainClock", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. + /// + internal static System.IO.UnmanagedMemoryStream BuzzerShotClock { + get { + return ResourceManager.GetStream("BuzzerShotClock", resourceCulture); + } + } + } +} diff --git a/Basketball Scoreboard System/Properties/Resources.resx b/Basketball Scoreboard System/Properties/Resources.resx new file mode 100644 index 0000000..a28ae3c --- /dev/null +++ b/Basketball Scoreboard System/Properties/Resources.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\assets\buzzer-main.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + ..\assets\buzzer-shotclock.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Basketball Scoreboard System/Settings.Designer.cs b/Basketball Scoreboard System/Settings.Designer.cs new file mode 100644 index 0000000..1fe56ce --- /dev/null +++ b/Basketball Scoreboard System/Settings.Designer.cs @@ -0,0 +1,98 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Basketball_Scoreboard_System { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")] + public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("HOME")] + public string HomeTeamName { + get { + return ((string)(this["HomeTeamName"])); + } + set { + this["HomeTeamName"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("AWAY")] + public string AwayTeamName { + get { + return ((string)(this["AwayTeamName"])); + } + set { + this["AwayTeamName"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("600000")] + public int MainClockDefaultTime { + get { + return ((int)(this["MainClockDefaultTime"])); + } + set { + this["MainClockDefaultTime"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("24000")] + public int ShotClockDefaultTime { + get { + return ((int)(this["ShotClockDefaultTime"])); + } + set { + this["ShotClockDefaultTime"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ShotClockEnabled { + get { + return ((bool)(this["ShotClockEnabled"])); + } + set { + this["ShotClockEnabled"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("5")] + public int BonusFoulThreshold { + get { + return ((int)(this["BonusFoulThreshold"])); + } + set { + this["BonusFoulThreshold"] = value; + } + } + } +} diff --git a/Basketball Scoreboard System/Settings.settings b/Basketball Scoreboard System/Settings.settings new file mode 100644 index 0000000..3ea321a --- /dev/null +++ b/Basketball Scoreboard System/Settings.settings @@ -0,0 +1,24 @@ + + + + + + HOME + + + AWAY + + + 600000 + + + 24000 + + + True + + + 5 + + + \ No newline at end of file diff --git a/Basketball Scoreboard System/assets/buzzer-main.wav b/Basketball Scoreboard System/assets/buzzer-main.wav new file mode 100644 index 0000000..fa185b4 Binary files /dev/null and b/Basketball Scoreboard System/assets/buzzer-main.wav differ diff --git a/Basketball Scoreboard System/assets/buzzer-shotclock.wav b/Basketball Scoreboard System/assets/buzzer-shotclock.wav new file mode 100644 index 0000000..b2940eb Binary files /dev/null and b/Basketball Scoreboard System/assets/buzzer-shotclock.wav differ diff --git a/Basketball Scoreboard System/assets/icon.ico b/Basketball Scoreboard System/assets/icon.ico new file mode 100644 index 0000000..985b7a3 Binary files /dev/null and b/Basketball Scoreboard System/assets/icon.ico differ diff --git a/Basketball Scoreboard System/classes/Clock.cs b/Basketball Scoreboard System/classes/Clock.cs new file mode 100644 index 0000000..3da83bf --- /dev/null +++ b/Basketball Scoreboard System/classes/Clock.cs @@ -0,0 +1,67 @@ +namespace Basketball_Scoreboard_System.classes +{ + public class Clock + { + public int DefaultTime { get; set; } + public int Time { get; set; } + public bool IsShotClock { get; set; } + public bool IsMainClock { get; set; } + + public Clock(int DefaultTime, bool IsSC, bool IsMC) + { + this.DefaultTime = DefaultTime; + Time = DefaultTime; + IsMainClock = IsMC; + IsShotClock = IsSC; + if (!((IsMainClock && !IsShotClock) || (!IsMainClock && IsShotClock))) MessageBox.Show("Clock not initialized properly", "Error", MessageBoxButtons.AbortRetryIgnore); + } + + public void DisplayTime() + { + if (IsMainClock) + { + Program.AudienceWindow.LabelClock.Text = FormatTimeMC(); + Program.ControlPanel.LabelClock.Text = FormatTimeMC(); + } + else if (IsShotClock) + { + Program.AudienceWindow.LabelShotClock.Text = FormatTimeSC(); + Program.ControlPanel.LabelShotClock.Text = FormatTimeSC(); + } + } + + public string FormatTimeMC() + { + TimeSpan ParsedTime = TimeSpan.FromMilliseconds(Time); + + if (ParsedTime.Minutes == 0) + { + string MS = (ParsedTime.Milliseconds / 10).ToString(); + string Seconds = ParsedTime.Seconds.ToString(); + if (ParsedTime.Seconds < 10) Seconds = "0" + ParsedTime.Seconds; + if (ParsedTime.Milliseconds / 100 == 0) MS = "00"; + return Seconds + "." + MS; + } + else + { + string Minutes = ParsedTime.Minutes.ToString(); + string Seconds = ParsedTime.Seconds.ToString(); + if (ParsedTime.Minutes < 10) Minutes = "0" + ParsedTime.Minutes; + if (ParsedTime.Seconds < 10) Seconds = "0" + ParsedTime.Seconds; + return Minutes + ":" + Seconds; + } + } + + public string FormatTimeSC() + { + TimeSpan ParsedTime = TimeSpan.FromMilliseconds(Time); + return ParsedTime.Seconds.ToString(); + } + + public void SCUpdateButtonLabel() + { + TimeSpan SCS = TimeSpan.FromMilliseconds(DefaultTime); + Program.ControlPanel.ButtonSCSetToDefault.Text = "Shot Clock\nSet " + SCS.Seconds.ToString() + "s"; + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/classes/Player.cs b/Basketball Scoreboard System/classes/Player.cs new file mode 100644 index 0000000..96255f4 --- /dev/null +++ b/Basketball Scoreboard System/classes/Player.cs @@ -0,0 +1,22 @@ +namespace Basketball_Scoreboard_System.classes +{ + public class Player + { + public string Name { get; set; } + public int Number { get; set; } + public int Points { get; set; } + public int Rebounds { get; set; } + public int Assists { get; set; } + public int Blocks { get; set; } + public int Steals { get; set; } + public int Turnovers { get; set; } + public int TotalShots { get; set; } + public int ShotsMade { get; set; } + + public Player(int Number, string Name) + { + this.Number = Number; + this.Name = Name; + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/classes/Team.cs b/Basketball Scoreboard System/classes/Team.cs new file mode 100644 index 0000000..921ea81 --- /dev/null +++ b/Basketball Scoreboard System/classes/Team.cs @@ -0,0 +1,94 @@ +namespace Basketball_Scoreboard_System.classes +{ + public class Team + { + public string Name { get; set; } + public int Score { get; set; } + public int Fouls { get; set; } + public bool Bonus { get; set; } + public bool IsHome { get; set; } + public bool IsAway { get; set; } + public bool Possession { get; set; } + public List Players { get; set; } + + public Team(bool IsHomeTeam, bool IsAwayTeam, bool HasPossession) + { + Players = new List(); + Score = 0; + Fouls = 0; + Bonus = false; + + IsAway = IsAwayTeam; + IsHome = IsHomeTeam; + Possession = HasPossession; + + if (IsHome && !IsAway) + { + Name = Settings.Default.HomeTeamName ?? "HOME"; + Program.AudienceWindow.LabelHomeTeamName.Text = Name; + } + else if (!IsHome && IsAway) + { + Name = Settings.Default.AwayTeamName ?? "AWAY"; + Program.AudienceWindow.LabelAwayTeamName.Text = Name; + } + else + { + Name = "ERROR"; + MessageBox.Show("Team not initialized properly", "Error", MessageBoxButtons.AbortRetryIgnore); + } + } + + public void ChangeTeamName(string NewName) + { + Name = NewName; + if (IsHome && !IsAway) + { + Settings.Default.HomeTeamName = NewName; + Settings.Default.Save(); + Program.AudienceWindow.LabelHomeTeamName.Text = Settings.Default.HomeTeamName; + Program.ControlPanel.TeamsMenuHome.Text = Settings.Default.HomeTeamName; + Program.ControlPanel.LabelHomeTitle.Text = Settings.Default.HomeTeamName; + } + else if (!IsHome && IsAway) + { + Settings.Default.AwayTeamName = NewName; + Settings.Default.Save(); + Program.AudienceWindow.LabelAwayTeamName.Text = Settings.Default.AwayTeamName; + Program.ControlPanel.TeamsMenuAway.Text = Settings.Default.AwayTeamName; + Program.ControlPanel.LabelAwayTitle.Text = Settings.Default.AwayTeamName; + } + } + + public void ChangeScore(int Amount) + { + if (Score + Amount < 0 || Score + Amount > 999) MessageBox.Show("Score cannot be less than 0 or greater than 999", "Warning", MessageBoxButtons.OK); + else + { + Score += Amount; + if (IsHome && !IsAway) + { + Program.AudienceWindow.LabelHomeScore.Text = Score.ToString(); + Program.ControlPanel.LabelHomeScore.Text = Score.ToString(); + } + else if (!IsHome && IsAway) + { + Program.AudienceWindow.LabelAwayScore.Text = Score.ToString(); + Program.ControlPanel.LabelAwayScore.Text = Score.ToString(); + } + } + } + + public static string FormatFouls(int Fouls) + { + if (Fouls < 10) return "0" + Fouls.ToString(); + else return Fouls.ToString(); + } + + public static string FormatScore(int Score) + { + if (Score < 10) return "0" + Score.ToString(); + else return Score.ToString(); + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/fonts/DSEG14Classic-Regular.ttf b/Basketball Scoreboard System/fonts/DSEG14Classic-Regular.ttf new file mode 100644 index 0000000..7c28934 Binary files /dev/null and b/Basketball Scoreboard System/fonts/DSEG14Classic-Regular.ttf differ diff --git a/Basketball Scoreboard System/fonts/DSEG7Classic-Regular.ttf b/Basketball Scoreboard System/fonts/DSEG7Classic-Regular.ttf new file mode 100644 index 0000000..5e02edc Binary files /dev/null and b/Basketball Scoreboard System/fonts/DSEG7Classic-Regular.ttf differ diff --git a/Basketball Scoreboard System/fonts/fira-mono-bold.ttf b/Basketball Scoreboard System/fonts/fira-mono-bold.ttf new file mode 100644 index 0000000..6d4ffb0 Binary files /dev/null and b/Basketball Scoreboard System/fonts/fira-mono-bold.ttf differ diff --git a/Basketball Scoreboard System/forms/AudienceWindow.Designer.cs b/Basketball Scoreboard System/forms/AudienceWindow.Designer.cs new file mode 100644 index 0000000..4733d7d --- /dev/null +++ b/Basketball Scoreboard System/forms/AudienceWindow.Designer.cs @@ -0,0 +1,364 @@ +namespace Basketball_Scoreboard_System.forms +{ + partial class AudienceWindow + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) components.Dispose(); + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + PanelParent = new Panel(); + LabelHomeTeamFouls = new Label(); + LabelHomeTeamFoulsTitle = new Label(); + LabelAwayTeamFouls = new Label(); + LabelAwayTeamFoulsTitle = new Label(); + LabelHomeTeamBonus = new Label(); + LabelAwayTeamBonus = new Label(); + LabelAwayTeamPossession = new Label(); + LabelHomeTeamPossession = new Label(); + LabelPeriod = new Label(); + LabelPeriodTitle = new Label(); + LabelAwayScore = new Label(); + LabelHomeScore = new Label(); + LabelShotClockTitle = new Label(); + LabelShotClock = new Label(); + PanelScoreAway = new Panel(); + LabelAwayTeamName = new Label(); + PanelScoreHome = new Panel(); + LabelHomeTeamName = new Label(); + LabelClock = new Label(); + MainClockTimer = new System.Timers.Timer(); + ShotClockTimer = new System.Timers.Timer(); + PanelParent.SuspendLayout(); + PanelScoreAway.SuspendLayout(); + PanelScoreHome.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)MainClockTimer).BeginInit(); + ((System.ComponentModel.ISupportInitialize)ShotClockTimer).BeginInit(); + SuspendLayout(); + // + // PanelParent + // + PanelParent.Anchor = AnchorStyles.None; + PanelParent.Controls.Add(LabelHomeTeamFouls); + PanelParent.Controls.Add(LabelHomeTeamFoulsTitle); + PanelParent.Controls.Add(LabelAwayTeamFouls); + PanelParent.Controls.Add(LabelAwayTeamFoulsTitle); + PanelParent.Controls.Add(LabelHomeTeamBonus); + PanelParent.Controls.Add(LabelAwayTeamBonus); + PanelParent.Controls.Add(LabelAwayTeamPossession); + PanelParent.Controls.Add(LabelHomeTeamPossession); + PanelParent.Controls.Add(LabelPeriod); + PanelParent.Controls.Add(LabelPeriodTitle); + PanelParent.Controls.Add(LabelAwayScore); + PanelParent.Controls.Add(LabelHomeScore); + PanelParent.Controls.Add(LabelShotClockTitle); + PanelParent.Controls.Add(LabelShotClock); + PanelParent.Controls.Add(PanelScoreAway); + PanelParent.Controls.Add(PanelScoreHome); + PanelParent.Controls.Add(LabelClock); + PanelParent.Location = new Point(12, 12); + PanelParent.Margin = new Padding(8); + PanelParent.Name = "PanelParent"; + PanelParent.Size = new Size(1410, 752); + PanelParent.TabIndex = 0; + // + // LabelHomeTeamFouls + // + LabelHomeTeamFouls.BackColor = Color.Transparent; + LabelHomeTeamFouls.Font = new Font("DSEG7 Classic", 72F, FontStyle.Regular, GraphicsUnit.Point); + LabelHomeTeamFouls.ForeColor = Color.FromArgb(255, 128, 128); + LabelHomeTeamFouls.Location = new Point(192, 512); + LabelHomeTeamFouls.Name = "LabelHomeTeamFouls"; + LabelHomeTeamFouls.Size = new Size(108, 154); + LabelHomeTeamFouls.TabIndex = 15; + LabelHomeTeamFouls.Text = "-"; + LabelHomeTeamFouls.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelHomeTeamFoulsTitle + // + LabelHomeTeamFoulsTitle.Font = new Font("Fira Mono", 27.7499962F, FontStyle.Bold, GraphicsUnit.Point); + LabelHomeTeamFoulsTitle.Location = new Point(154, 460); + LabelHomeTeamFoulsTitle.Name = "LabelHomeTeamFoulsTitle"; + LabelHomeTeamFoulsTitle.Size = new Size(185, 52); + LabelHomeTeamFoulsTitle.TabIndex = 14; + LabelHomeTeamFoulsTitle.Text = "FOULS"; + LabelHomeTeamFoulsTitle.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelAwayTeamFouls + // + LabelAwayTeamFouls.BackColor = Color.Transparent; + LabelAwayTeamFouls.Font = new Font("DSEG7 Classic", 72F, FontStyle.Regular, GraphicsUnit.Point); + LabelAwayTeamFouls.ForeColor = Color.FromArgb(255, 128, 128); + LabelAwayTeamFouls.Location = new Point(1109, 512); + LabelAwayTeamFouls.Name = "LabelAwayTeamFouls"; + LabelAwayTeamFouls.Size = new Size(108, 154); + LabelAwayTeamFouls.TabIndex = 13; + LabelAwayTeamFouls.Text = "-"; + LabelAwayTeamFouls.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelAwayTeamFoulsTitle + // + LabelAwayTeamFoulsTitle.Font = new Font("Fira Mono", 27.7499962F, FontStyle.Bold, GraphicsUnit.Point); + LabelAwayTeamFoulsTitle.Location = new Point(1071, 460); + LabelAwayTeamFoulsTitle.Name = "LabelAwayTeamFoulsTitle"; + LabelAwayTeamFoulsTitle.Size = new Size(185, 52); + LabelAwayTeamFoulsTitle.TabIndex = 12; + LabelAwayTeamFoulsTitle.Text = "FOULS"; + LabelAwayTeamFoulsTitle.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelHomeTeamBonus + // + LabelHomeTeamBonus.BackColor = Color.Transparent; + LabelHomeTeamBonus.Font = new Font("DSEG14 Classic", 47.9999924F, FontStyle.Regular, GraphicsUnit.Point); + LabelHomeTeamBonus.ForeColor = Color.FromArgb(255, 128, 128); + LabelHomeTeamBonus.Location = new Point(393, 391); + LabelHomeTeamBonus.Name = "LabelHomeTeamBonus"; + LabelHomeTeamBonus.Size = new Size(91, 121); + LabelHomeTeamBonus.TabIndex = 11; + LabelHomeTeamBonus.Text = "B"; + LabelHomeTeamBonus.TextAlign = ContentAlignment.MiddleCenter; + LabelHomeTeamBonus.Visible = false; + // + // LabelAwayTeamBonus + // + LabelAwayTeamBonus.BackColor = Color.Transparent; + LabelAwayTeamBonus.Font = new Font("DSEG14 Classic", 47.9999924F, FontStyle.Regular, GraphicsUnit.Point); + LabelAwayTeamBonus.ForeColor = Color.FromArgb(255, 128, 128); + LabelAwayTeamBonus.Location = new Point(926, 391); + LabelAwayTeamBonus.Name = "LabelAwayTeamBonus"; + LabelAwayTeamBonus.Size = new Size(91, 121); + LabelAwayTeamBonus.TabIndex = 10; + LabelAwayTeamBonus.Text = "B"; + LabelAwayTeamBonus.TextAlign = ContentAlignment.MiddleCenter; + LabelAwayTeamBonus.Visible = false; + // + // LabelAwayTeamPossession + // + LabelAwayTeamPossession.BackColor = Color.Transparent; + LabelAwayTeamPossession.Font = new Font("DSEG14 Classic", 47.9999924F, FontStyle.Regular, GraphicsUnit.Point); + LabelAwayTeamPossession.ForeColor = Color.FromArgb(255, 128, 128); + LabelAwayTeamPossession.Location = new Point(790, 512); + LabelAwayTeamPossession.Name = "LabelAwayTeamPossession"; + LabelAwayTeamPossession.Size = new Size(91, 121); + LabelAwayTeamPossession.TabIndex = 9; + LabelAwayTeamPossession.Text = ">"; + LabelAwayTeamPossession.TextAlign = ContentAlignment.MiddleCenter; + LabelAwayTeamPossession.Visible = false; + // + // LabelHomeTeamPossession + // + LabelHomeTeamPossession.BackColor = Color.Transparent; + LabelHomeTeamPossession.Font = new Font("DSEG14 Classic", 47.9999924F, FontStyle.Regular, GraphicsUnit.Point); + LabelHomeTeamPossession.ForeColor = Color.FromArgb(255, 128, 128); + LabelHomeTeamPossession.Location = new Point(529, 512); + LabelHomeTeamPossession.Name = "LabelHomeTeamPossession"; + LabelHomeTeamPossession.Size = new Size(91, 121); + LabelHomeTeamPossession.TabIndex = 8; + LabelHomeTeamPossession.Text = "<"; + LabelHomeTeamPossession.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelPeriod + // + LabelPeriod.BackColor = Color.Transparent; + LabelPeriod.Font = new Font("DSEG7 Classic", 72F, FontStyle.Regular, GraphicsUnit.Point); + LabelPeriod.ForeColor = Color.FromArgb(255, 128, 128); + LabelPeriod.Location = new Point(651, 512); + LabelPeriod.Name = "LabelPeriod"; + LabelPeriod.Size = new Size(108, 154); + LabelPeriod.TabIndex = 7; + LabelPeriod.Text = "-"; + LabelPeriod.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelPeriodTitle + // + LabelPeriodTitle.Font = new Font("Fira Mono", 27.7499962F, FontStyle.Bold, GraphicsUnit.Point); + LabelPeriodTitle.Location = new Point(613, 460); + LabelPeriodTitle.Name = "LabelPeriodTitle"; + LabelPeriodTitle.Size = new Size(185, 52); + LabelPeriodTitle.TabIndex = 4; + LabelPeriodTitle.Text = "PERIOD"; + LabelPeriodTitle.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelAwayScore + // + LabelAwayScore.BackColor = Color.Transparent; + LabelAwayScore.Font = new Font("DSEG7 Classic", 120F, FontStyle.Regular, GraphicsUnit.Point); + LabelAwayScore.ForeColor = Color.FromArgb(255, 128, 128); + LabelAwayScore.Location = new Point(926, 223); + LabelAwayScore.Name = "LabelAwayScore"; + LabelAwayScore.Size = new Size(475, 160); + LabelAwayScore.TabIndex = 6; + LabelAwayScore.Text = "0"; + LabelAwayScore.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelHomeScore + // + LabelHomeScore.BackColor = Color.Transparent; + LabelHomeScore.Font = new Font("DSEG7 Classic", 120F, FontStyle.Regular, GraphicsUnit.Point); + LabelHomeScore.ForeColor = Color.FromArgb(255, 128, 128); + LabelHomeScore.Location = new Point(9, 223); + LabelHomeScore.Name = "LabelHomeScore"; + LabelHomeScore.Size = new Size(475, 160); + LabelHomeScore.TabIndex = 5; + LabelHomeScore.Text = "0"; + LabelHomeScore.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelShotClockTitle + // + LabelShotClockTitle.Font = new Font("Fira Mono", 36F, FontStyle.Bold, GraphicsUnit.Point); + LabelShotClockTitle.Location = new Point(529, 223); + LabelShotClockTitle.Name = "LabelShotClockTitle"; + LabelShotClockTitle.Size = new Size(352, 77); + LabelShotClockTitle.TabIndex = 4; + LabelShotClockTitle.Text = "SHOT CLOCK"; + LabelShotClockTitle.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelShotClock + // + LabelShotClock.BackColor = Color.Transparent; + LabelShotClock.Font = new Font("DSEG7 Classic", 95.99998F, FontStyle.Regular, GraphicsUnit.Point); + LabelShotClock.ForeColor = Color.FromArgb(255, 128, 128); + LabelShotClock.Location = new Point(567, 300); + LabelShotClock.Name = "LabelShotClock"; + LabelShotClock.Size = new Size(277, 160); + LabelShotClock.TabIndex = 3; + LabelShotClock.Text = "--"; + LabelShotClock.TextAlign = ContentAlignment.MiddleCenter; + // + // PanelScoreAway + // + PanelScoreAway.Controls.Add(LabelAwayTeamName); + PanelScoreAway.Location = new Point(1061, 3); + PanelScoreAway.Name = "PanelScoreAway"; + PanelScoreAway.Size = new Size(346, 212); + PanelScoreAway.TabIndex = 2; + // + // LabelAwayTeamName + // + LabelAwayTeamName.AutoSize = true; + LabelAwayTeamName.Font = new Font("Fira Mono", 32F, FontStyle.Regular, GraphicsUnit.Point); + LabelAwayTeamName.Location = new Point(0, 0); + LabelAwayTeamName.MaximumSize = new Size(340, 212); + LabelAwayTeamName.MinimumSize = new Size(340, 212); + LabelAwayTeamName.Name = "LabelAwayTeamName"; + LabelAwayTeamName.Size = new Size(340, 212); + LabelAwayTeamName.TabIndex = 3; + LabelAwayTeamName.Text = "----"; + LabelAwayTeamName.TextAlign = ContentAlignment.MiddleCenter; + LabelAwayTeamName.Paint += LabelAwayTeamName_Paint; + // + // PanelScoreHome + // + PanelScoreHome.Controls.Add(LabelHomeTeamName); + PanelScoreHome.Location = new Point(3, 3); + PanelScoreHome.Name = "PanelScoreHome"; + PanelScoreHome.Size = new Size(346, 212); + PanelScoreHome.TabIndex = 1; + // + // LabelHomeTeamName + // + LabelHomeTeamName.AutoSize = true; + LabelHomeTeamName.Font = new Font("Fira Mono", 32F, FontStyle.Regular, GraphicsUnit.Point); + LabelHomeTeamName.Location = new Point(6, 0); + LabelHomeTeamName.MaximumSize = new Size(340, 212); + LabelHomeTeamName.MinimumSize = new Size(340, 212); + LabelHomeTeamName.Name = "LabelHomeTeamName"; + LabelHomeTeamName.Size = new Size(340, 212); + LabelHomeTeamName.TabIndex = 0; + LabelHomeTeamName.Text = "----"; + LabelHomeTeamName.TextAlign = ContentAlignment.MiddleCenter; + LabelHomeTeamName.Paint += LabelHomeTeamName_Paint; + // + // LabelClock + // + LabelClock.BackColor = Color.Transparent; + LabelClock.Font = new Font("DSEG7 Classic", 128F, FontStyle.Regular, GraphicsUnit.Point); + LabelClock.ForeColor = Color.FromArgb(255, 128, 128); + LabelClock.Location = new Point(355, 0); + LabelClock.Name = "LabelClock"; + LabelClock.Size = new Size(700, 215); + LabelClock.TabIndex = 0; + LabelClock.Text = "--:--"; + LabelClock.TextAlign = ContentAlignment.MiddleCenter; + // + // MainClockTimer + // + MainClockTimer.Interval = 25D; + MainClockTimer.SynchronizingObject = this; + MainClockTimer.Elapsed += MainClockTimer_Elapsed; + // + // ShotClockTimer + // + ShotClockTimer.Interval = 1000D; + ShotClockTimer.SynchronizingObject = this; + ShotClockTimer.Elapsed += ShotClockTimer_Elapsed; + // + // AudienceWindow + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackColor = Color.Black; + ClientSize = new Size(1434, 776); + Controls.Add(PanelParent); + ForeColor = Color.White; + MinimumSize = new Size(1450, 815); + Name = "AudienceWindow"; + ShowIcon = false; + StartPosition = FormStartPosition.CenterScreen; + Text = "Audience Window"; + FormClosing += AudienceWindow_FormClosing; + Load += AudienceWindow_Load; + PanelParent.ResumeLayout(false); + PanelScoreAway.ResumeLayout(false); + PanelScoreAway.PerformLayout(); + PanelScoreHome.ResumeLayout(false); + PanelScoreHome.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)MainClockTimer).EndInit(); + ((System.ComponentModel.ISupportInitialize)ShotClockTimer).EndInit(); + ResumeLayout(false); + } + + #endregion + + private Panel PanelParent; + private Panel PanelScoreAway; + private Panel PanelScoreHome; + public Label LabelHomeTeamName; + public Label LabelAwayTeamName; + public System.Timers.Timer MainClockTimer; + public Label LabelClock; + public System.Timers.Timer ShotClockTimer; + public Label LabelShotClock; + public Label LabelShotClockTitle; + public Label LabelHomeScore; + public Label LabelAwayScore; + public Label LabelPeriodTitle; + public Label LabelPeriod; + public Label LabelAwayTeamPossession; + public Label LabelHomeTeamPossession; + public Label LabelHomeTeamBonus; + public Label LabelAwayTeamBonus; + public Label LabelAwayTeamFouls; + public Label LabelAwayTeamFoulsTitle; + public Label LabelHomeTeamFouls; + public Label LabelHomeTeamFoulsTitle; + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/AudienceWindow.cs b/Basketball Scoreboard System/forms/AudienceWindow.cs new file mode 100644 index 0000000..894fd1c --- /dev/null +++ b/Basketball Scoreboard System/forms/AudienceWindow.cs @@ -0,0 +1,52 @@ +using System.Media; + +namespace Basketball_Scoreboard_System.forms +{ + public partial class AudienceWindow : Form + { + private readonly SoundPlayer BuzzerMainClock = new(Properties.Resources.BuzzerMainClock); + private readonly SoundPlayer BuzzerShotClock = new(Properties.Resources.BuzzerShotClock); + + public AudienceWindow() => InitializeComponent(); + + private void LabelHomeTeamName_Paint(object sender, PaintEventArgs e) => LabelHomeTeamName.Font = Program.GetFontSize(e.Graphics, LabelHomeTeamName.Text, new Size(LabelHomeTeamName.Width - 12, LabelHomeTeamName.Height), LabelHomeTeamName.Font); + + private void LabelAwayTeamName_Paint(object sender, PaintEventArgs e) => LabelAwayTeamName.Font = Program.GetFontSize(e.Graphics, LabelAwayTeamName.Text, new Size(LabelAwayTeamName.MaximumSize.Width - 12, LabelAwayTeamName.MaximumSize.Height), LabelAwayTeamName.Font); + + private void AudienceWindow_Load(object sender, EventArgs e) => Program.ControlPanel.Show(); + + private void AudienceWindow_FormClosing(object sender, FormClosingEventArgs e) + { + DialogResult Confirmation = MessageBox.Show("Are you sure you want to exit?\nGame progress will not be saved.", "Confirm", MessageBoxButtons.YesNo); + if (Confirmation == DialogResult.No) e.Cancel = true; + } + + private void MainClockTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) + { + if (Program.MainClock.Time > 0) + { + Program.MainClock.Time -= (int)Program.AudienceWindow.MainClockTimer.Interval; + Program.MainClock.DisplayTime(); + } + else + { + Program.AudienceWindow.MainClockTimer.Stop(); + BuzzerMainClock.Play(); + } + } + + private void ShotClockTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) + { + if (Program.ShotClock.Time > 0) + { + Program.ShotClock.Time -= (int)Program.AudienceWindow.ShotClockTimer.Interval; + Program.ShotClock.DisplayTime(); + } + else + { + Program.AudienceWindow.ShotClockTimer.Stop(); + BuzzerShotClock.Play(); + } + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/AudienceWindow.resx b/Basketball Scoreboard System/forms/AudienceWindow.resx new file mode 100644 index 0000000..6269f60 --- /dev/null +++ b/Basketball Scoreboard System/forms/AudienceWindow.resx @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 163, 24 + + + 72 + + + 31, 23 + + \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/ControlPanel.Designer.cs b/Basketball Scoreboard System/forms/ControlPanel.Designer.cs new file mode 100644 index 0000000..7659e28 --- /dev/null +++ b/Basketball Scoreboard System/forms/ControlPanel.Designer.cs @@ -0,0 +1,647 @@ +namespace Basketball_Scoreboard_System.forms +{ + partial class ControlPanel + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + ControlPanelMenuStrip = new MenuStrip(); + GameMenu = new ToolStripMenuItem(); + GameMenuSetPeriod = new ToolStripMenuItem(); + GameMenuSwitchPossession = new ToolStripMenuItem(); + TeamsMenu = new ToolStripMenuItem(); + TeamsMenuHome = new ToolStripMenuItem(); + TeamsMenuHomeChangeName = new ToolStripMenuItem(); + TeamsMenuHomeSetFouls = new ToolStripMenuItem(); + TeamsMenuAway = new ToolStripMenuItem(); + TeamsMenuAwayChangeName = new ToolStripMenuItem(); + TeamsMenuAwaySetFouls = new ToolStripMenuItem(); + SetBonusFoulThresholdMenuButton = new ToolStripMenuItem(); + MainClockMenu = new ToolStripMenuItem(); + MainClockMenuSetTime = new ToolStripMenuItem(); + MainClockMenuSetDefaultTime = new ToolStripMenuItem(); + ShotClockMenu = new ToolStripMenuItem(); + ShotClockMenuSetTime = new ToolStripMenuItem(); + ShotClockMenuSetDefaultTime = new ToolStripMenuItem(); + ShotClockMenuToggleShotClock = new ToolStripMenuItem(); + ButtonStartClocks = new Button(); + ButtonStopClocks = new Button(); + ButtonSCSetToDefault = new Button(); + ButtonSCSet14S = new Button(); + LabelHomeTitle = new Label(); + LabelAwayTitle = new Label(); + Line = new Label(); + ButtonHomeScoreAdd1 = new Button(); + ButtonHomeScoreAdd2 = new Button(); + ButtonHomeScoreAdd3 = new Button(); + ButtonHomeScoreSubtract1 = new Button(); + ButtonHomeScoreSubtract2 = new Button(); + ButtonHomeScoreSubtract3 = new Button(); + ButtonAwayScoreAdd1 = new Button(); + ButtonAwayScoreAdd2 = new Button(); + ButtonAwayScoreSubtract1 = new Button(); + ButtonAwayScoreSubtract2 = new Button(); + ButtonAwayScoreAdd3 = new Button(); + ButtonAwayScoreSubtract3 = new Button(); + LabelClock = new Label(); + LabelShotClock = new Label(); + LabelPeriod = new Label(); + LabelAwayPossession = new Label(); + LabelHomePossession = new Label(); + LabelAwayBonus = new Label(); + LabelHomeBonus = new Label(); + LabelAwayFouls = new Label(); + LabelAwayScore = new Label(); + LabelHomeFouls = new Label(); + LabelHomeScore = new Label(); + ControlPanelMenuStrip.SuspendLayout(); + SuspendLayout(); + // + // ControlPanelMenuStrip + // + ControlPanelMenuStrip.Items.AddRange(new ToolStripItem[] { GameMenu, TeamsMenu, MainClockMenu, ShotClockMenu }); + ControlPanelMenuStrip.Location = new Point(0, 0); + ControlPanelMenuStrip.Name = "ControlPanelMenuStrip"; + ControlPanelMenuStrip.RenderMode = ToolStripRenderMode.System; + ControlPanelMenuStrip.Size = new Size(490, 24); + ControlPanelMenuStrip.TabIndex = 1; + ControlPanelMenuStrip.Text = "Control Panel Menu"; + // + // GameMenu + // + GameMenu.DropDownItems.AddRange(new ToolStripItem[] { GameMenuSetPeriod, GameMenuSwitchPossession }); + GameMenu.Name = "GameMenu"; + GameMenu.Size = new Size(50, 20); + GameMenu.Text = "Game"; + // + // GameMenuSetPeriod + // + GameMenuSetPeriod.Name = "GameMenuSetPeriod"; + GameMenuSetPeriod.Size = new Size(169, 22); + GameMenuSetPeriod.Text = "Set Period"; + GameMenuSetPeriod.Click += GameMenuSetPeriod_Click; + // + // GameMenuSwitchPossession + // + GameMenuSwitchPossession.Name = "GameMenuSwitchPossession"; + GameMenuSwitchPossession.Size = new Size(169, 22); + GameMenuSwitchPossession.Text = "Switch Possession"; + GameMenuSwitchPossession.Click += GameMenuSwitchPossession_Click; + // + // TeamsMenu + // + TeamsMenu.DropDownItems.AddRange(new ToolStripItem[] { TeamsMenuHome, TeamsMenuAway, SetBonusFoulThresholdMenuButton }); + TeamsMenu.Name = "TeamsMenu"; + TeamsMenu.Size = new Size(52, 20); + TeamsMenu.Text = "Teams"; + // + // TeamsMenuHome + // + TeamsMenuHome.DropDownItems.AddRange(new ToolStripItem[] { TeamsMenuHomeChangeName, TeamsMenuHomeSetFouls }); + TeamsMenuHome.Name = "TeamsMenuHome"; + TeamsMenuHome.Size = new Size(207, 22); + TeamsMenuHome.Text = "Home"; + // + // TeamsMenuHomeChangeName + // + TeamsMenuHomeChangeName.Name = "TeamsMenuHomeChangeName"; + TeamsMenuHomeChangeName.Size = new Size(150, 22); + TeamsMenuHomeChangeName.Text = "Change Name"; + TeamsMenuHomeChangeName.Click += TeamsMenuHomeChangeName_Click; + // + // TeamsMenuHomeSetFouls + // + TeamsMenuHomeSetFouls.Name = "TeamsMenuHomeSetFouls"; + TeamsMenuHomeSetFouls.Size = new Size(150, 22); + TeamsMenuHomeSetFouls.Text = "Set Fouls"; + TeamsMenuHomeSetFouls.Click += TeamsMenuHomeSetFouls_Click; + // + // TeamsMenuAway + // + TeamsMenuAway.DropDownItems.AddRange(new ToolStripItem[] { TeamsMenuAwayChangeName, TeamsMenuAwaySetFouls }); + TeamsMenuAway.Name = "TeamsMenuAway"; + TeamsMenuAway.Size = new Size(207, 22); + TeamsMenuAway.Text = "Away"; + // + // TeamsMenuAwayChangeName + // + TeamsMenuAwayChangeName.Name = "TeamsMenuAwayChangeName"; + TeamsMenuAwayChangeName.Size = new Size(150, 22); + TeamsMenuAwayChangeName.Text = "Change Name"; + TeamsMenuAwayChangeName.Click += TeamsMenuAwayChangeName_Click; + // + // TeamsMenuAwaySetFouls + // + TeamsMenuAwaySetFouls.Name = "TeamsMenuAwaySetFouls"; + TeamsMenuAwaySetFouls.Size = new Size(150, 22); + TeamsMenuAwaySetFouls.Text = "Set Fouls"; + TeamsMenuAwaySetFouls.Click += TeamsMenuAwaySetFouls_Click; + // + // SetBonusFoulThresholdMenuButton + // + SetBonusFoulThresholdMenuButton.Name = "SetBonusFoulThresholdMenuButton"; + SetBonusFoulThresholdMenuButton.Size = new Size(207, 22); + SetBonusFoulThresholdMenuButton.Text = "Set Bonus Foul Threshold"; + SetBonusFoulThresholdMenuButton.Click += SetBonusFoulThresholdMenuButton_Click; + // + // MainClockMenu + // + MainClockMenu.DropDownItems.AddRange(new ToolStripItem[] { MainClockMenuSetTime, MainClockMenuSetDefaultTime }); + MainClockMenu.Name = "MainClockMenu"; + MainClockMenu.Size = new Size(79, 20); + MainClockMenu.Text = "Main Clock"; + // + // MainClockMenuSetTime + // + MainClockMenuSetTime.Name = "MainClockMenuSetTime"; + MainClockMenuSetTime.Size = new Size(160, 22); + MainClockMenuSetTime.Text = "Set Time"; + MainClockMenuSetTime.Click += MainClockMenuSetTime_Click; + // + // MainClockMenuSetDefaultTime + // + MainClockMenuSetDefaultTime.Name = "MainClockMenuSetDefaultTime"; + MainClockMenuSetDefaultTime.Size = new Size(160, 22); + MainClockMenuSetDefaultTime.Text = "Set Default Time"; + MainClockMenuSetDefaultTime.Click += MainClockMenuSetDefaultTime_Click; + // + // ShotClockMenu + // + ShotClockMenu.DropDownItems.AddRange(new ToolStripItem[] { ShotClockMenuSetTime, ShotClockMenuSetDefaultTime, ShotClockMenuToggleShotClock }); + ShotClockMenu.Name = "ShotClockMenu"; + ShotClockMenu.Size = new Size(76, 20); + ShotClockMenu.Text = "Shot Clock"; + // + // ShotClockMenuSetTime + // + ShotClockMenuSetTime.Name = "ShotClockMenuSetTime"; + ShotClockMenuSetTime.Size = new Size(169, 22); + ShotClockMenuSetTime.Text = "Set Time"; + ShotClockMenuSetTime.Click += ShotClockMenuSetTime_Click; + // + // ShotClockMenuSetDefaultTime + // + ShotClockMenuSetDefaultTime.Name = "ShotClockMenuSetDefaultTime"; + ShotClockMenuSetDefaultTime.Size = new Size(169, 22); + ShotClockMenuSetDefaultTime.Text = "Set Default Time"; + ShotClockMenuSetDefaultTime.Click += ShotClockMenuSetDefaultTime_Click; + // + // ShotClockMenuToggleShotClock + // + ShotClockMenuToggleShotClock.Name = "ShotClockMenuToggleShotClock"; + ShotClockMenuToggleShotClock.Size = new Size(169, 22); + ShotClockMenuToggleShotClock.Text = "Toggle Shot Clock"; + ShotClockMenuToggleShotClock.Click += ShotClockMenuToggleShotClock_Click; + // + // ButtonStartClocks + // + ButtonStartClocks.BackColor = Color.FromArgb(192, 255, 192); + ButtonStartClocks.FlatStyle = FlatStyle.Flat; + ButtonStartClocks.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonStartClocks.Location = new Point(12, 35); + ButtonStartClocks.Name = "ButtonStartClocks"; + ButtonStartClocks.Size = new Size(128, 64); + ButtonStartClocks.TabIndex = 2; + ButtonStartClocks.Text = "Start Clocks"; + ButtonStartClocks.UseVisualStyleBackColor = false; + ButtonStartClocks.Click += ButtonStartClocks_Click; + // + // ButtonStopClocks + // + ButtonStopClocks.BackColor = Color.FromArgb(255, 192, 192); + ButtonStopClocks.FlatStyle = FlatStyle.Flat; + ButtonStopClocks.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonStopClocks.Location = new Point(146, 35); + ButtonStopClocks.Name = "ButtonStopClocks"; + ButtonStopClocks.Size = new Size(128, 64); + ButtonStopClocks.TabIndex = 3; + ButtonStopClocks.Text = "Stop Clocks"; + ButtonStopClocks.UseVisualStyleBackColor = false; + ButtonStopClocks.Click += ButtonStopClocks_Click; + // + // ButtonSCSetToDefault + // + ButtonSCSetToDefault.FlatStyle = FlatStyle.Flat; + ButtonSCSetToDefault.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); + ButtonSCSetToDefault.Location = new Point(280, 35); + ButtonSCSetToDefault.Name = "ButtonSCSetToDefault"; + ButtonSCSetToDefault.Size = new Size(96, 64); + ButtonSCSetToDefault.TabIndex = 4; + ButtonSCSetToDefault.Text = "Shot Clock\r\nSet XXs"; + ButtonSCSetToDefault.UseVisualStyleBackColor = true; + ButtonSCSetToDefault.Click += ButtonSCSetToDefault_Click; + // + // ButtonSCSet14S + // + ButtonSCSet14S.FlatStyle = FlatStyle.Flat; + ButtonSCSet14S.Font = new Font("Segoe UI", 12F, FontStyle.Regular, GraphicsUnit.Point); + ButtonSCSet14S.Location = new Point(382, 35); + ButtonSCSet14S.Name = "ButtonSCSet14S"; + ButtonSCSet14S.Size = new Size(96, 64); + ButtonSCSet14S.TabIndex = 5; + ButtonSCSet14S.Text = "Shot Clock\r\nSet 14s"; + ButtonSCSet14S.UseVisualStyleBackColor = true; + ButtonSCSet14S.Click += ButtonSCSet14S_Click; + // + // LabelHomeTitle + // + LabelHomeTitle.Font = new Font("Segoe UI", 27.75F, FontStyle.Bold, GraphicsUnit.Point); + LabelHomeTitle.Location = new Point(12, 106); + LabelHomeTitle.Name = "LabelHomeTitle"; + LabelHomeTitle.Size = new Size(227, 65); + LabelHomeTitle.TabIndex = 6; + LabelHomeTitle.Text = "Home"; + LabelHomeTitle.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelAwayTitle + // + LabelAwayTitle.Font = new Font("Segoe UI", 27.75F, FontStyle.Bold, GraphicsUnit.Point); + LabelAwayTitle.Location = new Point(252, 106); + LabelAwayTitle.Name = "LabelAwayTitle"; + LabelAwayTitle.Size = new Size(226, 65); + LabelAwayTitle.TabIndex = 8; + LabelAwayTitle.Text = "Away"; + LabelAwayTitle.TextAlign = ContentAlignment.MiddleCenter; + // + // Line + // + Line.BorderStyle = BorderStyle.Fixed3D; + Line.Location = new Point(245, 106); + Line.Name = "Line"; + Line.Size = new Size(1, 291); + Line.TabIndex = 9; + // + // ButtonHomeScoreAdd1 + // + ButtonHomeScoreAdd1.FlatStyle = FlatStyle.Flat; + ButtonHomeScoreAdd1.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonHomeScoreAdd1.Location = new Point(128, 174); + ButtonHomeScoreAdd1.Name = "ButtonHomeScoreAdd1"; + ButtonHomeScoreAdd1.Size = new Size(64, 67); + ButtonHomeScoreAdd1.TabIndex = 10; + ButtonHomeScoreAdd1.Text = "+1"; + ButtonHomeScoreAdd1.UseVisualStyleBackColor = true; + ButtonHomeScoreAdd1.Click += ButtonHomeScoreAdd1_Click; + // + // ButtonHomeScoreAdd2 + // + ButtonHomeScoreAdd2.FlatStyle = FlatStyle.Flat; + ButtonHomeScoreAdd2.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonHomeScoreAdd2.Location = new Point(128, 244); + ButtonHomeScoreAdd2.Name = "ButtonHomeScoreAdd2"; + ButtonHomeScoreAdd2.Size = new Size(64, 67); + ButtonHomeScoreAdd2.TabIndex = 10; + ButtonHomeScoreAdd2.Text = "+2"; + ButtonHomeScoreAdd2.UseVisualStyleBackColor = true; + ButtonHomeScoreAdd2.Click += ButtonHomeScoreAdd2_Click; + // + // ButtonHomeScoreAdd3 + // + ButtonHomeScoreAdd3.FlatStyle = FlatStyle.Flat; + ButtonHomeScoreAdd3.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonHomeScoreAdd3.Location = new Point(128, 314); + ButtonHomeScoreAdd3.Name = "ButtonHomeScoreAdd3"; + ButtonHomeScoreAdd3.Size = new Size(64, 67); + ButtonHomeScoreAdd3.TabIndex = 10; + ButtonHomeScoreAdd3.Text = "+3"; + ButtonHomeScoreAdd3.UseVisualStyleBackColor = true; + ButtonHomeScoreAdd3.Click += ButtonHomeScoreAdd3_Click; + // + // ButtonHomeScoreSubtract1 + // + ButtonHomeScoreSubtract1.FlatStyle = FlatStyle.Flat; + ButtonHomeScoreSubtract1.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonHomeScoreSubtract1.Location = new Point(58, 174); + ButtonHomeScoreSubtract1.Name = "ButtonHomeScoreSubtract1"; + ButtonHomeScoreSubtract1.Size = new Size(64, 67); + ButtonHomeScoreSubtract1.TabIndex = 10; + ButtonHomeScoreSubtract1.Text = "-1"; + ButtonHomeScoreSubtract1.UseVisualStyleBackColor = true; + ButtonHomeScoreSubtract1.Click += ButtonHomeScoreSubtract1_Click; + // + // ButtonHomeScoreSubtract2 + // + ButtonHomeScoreSubtract2.FlatStyle = FlatStyle.Flat; + ButtonHomeScoreSubtract2.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonHomeScoreSubtract2.Location = new Point(58, 244); + ButtonHomeScoreSubtract2.Name = "ButtonHomeScoreSubtract2"; + ButtonHomeScoreSubtract2.Size = new Size(64, 67); + ButtonHomeScoreSubtract2.TabIndex = 10; + ButtonHomeScoreSubtract2.Text = "-2"; + ButtonHomeScoreSubtract2.UseVisualStyleBackColor = true; + ButtonHomeScoreSubtract2.Click += ButtonHomeScoreSubtract2_Click; + // + // ButtonHomeScoreSubtract3 + // + ButtonHomeScoreSubtract3.FlatStyle = FlatStyle.Flat; + ButtonHomeScoreSubtract3.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonHomeScoreSubtract3.Location = new Point(58, 314); + ButtonHomeScoreSubtract3.Name = "ButtonHomeScoreSubtract3"; + ButtonHomeScoreSubtract3.Size = new Size(64, 67); + ButtonHomeScoreSubtract3.TabIndex = 10; + ButtonHomeScoreSubtract3.Text = "-3"; + ButtonHomeScoreSubtract3.UseVisualStyleBackColor = true; + ButtonHomeScoreSubtract3.Click += ButtonHomeScoreSubtract3_Click; + // + // ButtonAwayScoreAdd1 + // + ButtonAwayScoreAdd1.FlatStyle = FlatStyle.Flat; + ButtonAwayScoreAdd1.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonAwayScoreAdd1.Location = new Point(368, 174); + ButtonAwayScoreAdd1.Name = "ButtonAwayScoreAdd1"; + ButtonAwayScoreAdd1.Size = new Size(64, 67); + ButtonAwayScoreAdd1.TabIndex = 10; + ButtonAwayScoreAdd1.Text = "+1"; + ButtonAwayScoreAdd1.UseVisualStyleBackColor = true; + ButtonAwayScoreAdd1.Click += ButtonAwayScoreAdd1_Click; + // + // ButtonAwayScoreAdd2 + // + ButtonAwayScoreAdd2.FlatStyle = FlatStyle.Flat; + ButtonAwayScoreAdd2.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonAwayScoreAdd2.Location = new Point(368, 244); + ButtonAwayScoreAdd2.Name = "ButtonAwayScoreAdd2"; + ButtonAwayScoreAdd2.Size = new Size(64, 67); + ButtonAwayScoreAdd2.TabIndex = 10; + ButtonAwayScoreAdd2.Text = "+2"; + ButtonAwayScoreAdd2.UseVisualStyleBackColor = true; + ButtonAwayScoreAdd2.Click += ButtonAwayScoreAdd2_Click; + // + // ButtonAwayScoreSubtract1 + // + ButtonAwayScoreSubtract1.FlatStyle = FlatStyle.Flat; + ButtonAwayScoreSubtract1.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonAwayScoreSubtract1.Location = new Point(298, 174); + ButtonAwayScoreSubtract1.Name = "ButtonAwayScoreSubtract1"; + ButtonAwayScoreSubtract1.Size = new Size(64, 67); + ButtonAwayScoreSubtract1.TabIndex = 10; + ButtonAwayScoreSubtract1.Text = "-1"; + ButtonAwayScoreSubtract1.UseVisualStyleBackColor = true; + ButtonAwayScoreSubtract1.Click += ButtonAwayScoreSubtract1_Click; + // + // ButtonAwayScoreSubtract2 + // + ButtonAwayScoreSubtract2.FlatStyle = FlatStyle.Flat; + ButtonAwayScoreSubtract2.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonAwayScoreSubtract2.Location = new Point(298, 244); + ButtonAwayScoreSubtract2.Name = "ButtonAwayScoreSubtract2"; + ButtonAwayScoreSubtract2.Size = new Size(64, 67); + ButtonAwayScoreSubtract2.TabIndex = 10; + ButtonAwayScoreSubtract2.Text = "-2"; + ButtonAwayScoreSubtract2.UseVisualStyleBackColor = true; + ButtonAwayScoreSubtract2.Click += ButtonAwayScoreSubtract2_Click; + // + // ButtonAwayScoreAdd3 + // + ButtonAwayScoreAdd3.FlatStyle = FlatStyle.Flat; + ButtonAwayScoreAdd3.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonAwayScoreAdd3.Location = new Point(368, 314); + ButtonAwayScoreAdd3.Name = "ButtonAwayScoreAdd3"; + ButtonAwayScoreAdd3.Size = new Size(64, 67); + ButtonAwayScoreAdd3.TabIndex = 10; + ButtonAwayScoreAdd3.Text = "+3"; + ButtonAwayScoreAdd3.UseVisualStyleBackColor = true; + ButtonAwayScoreAdd3.Click += ButtonAwayScoreAdd3_Click; + // + // ButtonAwayScoreSubtract3 + // + ButtonAwayScoreSubtract3.FlatStyle = FlatStyle.Flat; + ButtonAwayScoreSubtract3.Font = new Font("Segoe UI", 14.25F, FontStyle.Regular, GraphicsUnit.Point); + ButtonAwayScoreSubtract3.Location = new Point(298, 314); + ButtonAwayScoreSubtract3.Name = "ButtonAwayScoreSubtract3"; + ButtonAwayScoreSubtract3.Size = new Size(64, 67); + ButtonAwayScoreSubtract3.TabIndex = 10; + ButtonAwayScoreSubtract3.Text = "-3"; + ButtonAwayScoreSubtract3.UseVisualStyleBackColor = true; + ButtonAwayScoreSubtract3.Click += ButtonAwayScoreSubtract3_Click; + // + // LabelClock + // + LabelClock.Location = new Point(212, 400); + LabelClock.Name = "LabelClock"; + LabelClock.Size = new Size(66, 23); + LabelClock.TabIndex = 11; + LabelClock.Text = "--:--"; + LabelClock.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelShotClock + // + LabelShotClock.Location = new Point(229, 425); + LabelShotClock.Name = "LabelShotClock"; + LabelShotClock.Size = new Size(33, 23); + LabelShotClock.TabIndex = 12; + LabelShotClock.Text = "--"; + LabelShotClock.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelPeriod + // + LabelPeriod.Location = new Point(229, 448); + LabelPeriod.Name = "LabelPeriod"; + LabelPeriod.Size = new Size(33, 23); + LabelPeriod.TabIndex = 13; + LabelPeriod.Text = "-"; + LabelPeriod.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelAwayPossession + // + LabelAwayPossession.Location = new Point(268, 448); + LabelAwayPossession.Name = "LabelAwayPossession"; + LabelAwayPossession.Size = new Size(33, 23); + LabelAwayPossession.TabIndex = 14; + LabelAwayPossession.Text = ">"; + LabelAwayPossession.TextAlign = ContentAlignment.MiddleCenter; + LabelAwayPossession.Visible = false; + // + // LabelHomePossession + // + LabelHomePossession.Location = new Point(190, 448); + LabelHomePossession.Name = "LabelHomePossession"; + LabelHomePossession.Size = new Size(33, 23); + LabelHomePossession.TabIndex = 14; + LabelHomePossession.Text = "<"; + LabelHomePossession.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelAwayBonus + // + LabelAwayBonus.Location = new Point(268, 425); + LabelAwayBonus.Name = "LabelAwayBonus"; + LabelAwayBonus.Size = new Size(33, 23); + LabelAwayBonus.TabIndex = 14; + LabelAwayBonus.Text = "B"; + LabelAwayBonus.TextAlign = ContentAlignment.MiddleCenter; + LabelAwayBonus.Visible = false; + // + // LabelHomeBonus + // + LabelHomeBonus.Location = new Point(190, 425); + LabelHomeBonus.Name = "LabelHomeBonus"; + LabelHomeBonus.Size = new Size(33, 23); + LabelHomeBonus.TabIndex = 14; + LabelHomeBonus.Text = "B"; + LabelHomeBonus.TextAlign = ContentAlignment.MiddleCenter; + LabelHomeBonus.Visible = false; + // + // LabelAwayFouls + // + LabelAwayFouls.Location = new Point(307, 448); + LabelAwayFouls.Name = "LabelAwayFouls"; + LabelAwayFouls.Size = new Size(33, 23); + LabelAwayFouls.TabIndex = 14; + LabelAwayFouls.Text = "-"; + LabelAwayFouls.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelAwayScore + // + LabelAwayScore.Location = new Point(307, 425); + LabelAwayScore.Name = "LabelAwayScore"; + LabelAwayScore.Size = new Size(33, 23); + LabelAwayScore.TabIndex = 14; + LabelAwayScore.Text = "0"; + LabelAwayScore.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelHomeFouls + // + LabelHomeFouls.Location = new Point(151, 448); + LabelHomeFouls.Name = "LabelHomeFouls"; + LabelHomeFouls.Size = new Size(33, 23); + LabelHomeFouls.TabIndex = 14; + LabelHomeFouls.Text = "-"; + LabelHomeFouls.TextAlign = ContentAlignment.MiddleCenter; + // + // LabelHomeScore + // + LabelHomeScore.Location = new Point(151, 425); + LabelHomeScore.Name = "LabelHomeScore"; + LabelHomeScore.Size = new Size(33, 23); + LabelHomeScore.TabIndex = 14; + LabelHomeScore.Text = "0"; + LabelHomeScore.TextAlign = ContentAlignment.MiddleCenter; + // + // ControlPanel + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackColor = Color.White; + ClientSize = new Size(490, 483); + Controls.Add(LabelHomeBonus); + Controls.Add(LabelHomeScore); + Controls.Add(LabelAwayScore); + Controls.Add(LabelAwayBonus); + Controls.Add(LabelHomePossession); + Controls.Add(LabelHomeFouls); + Controls.Add(LabelAwayFouls); + Controls.Add(LabelAwayPossession); + Controls.Add(LabelPeriod); + Controls.Add(LabelShotClock); + Controls.Add(LabelClock); + Controls.Add(ButtonAwayScoreSubtract3); + Controls.Add(ButtonHomeScoreSubtract3); + Controls.Add(ButtonAwayScoreAdd3); + Controls.Add(ButtonAwayScoreSubtract2); + Controls.Add(ButtonHomeScoreAdd3); + Controls.Add(ButtonAwayScoreSubtract1); + Controls.Add(ButtonHomeScoreSubtract2); + Controls.Add(ButtonAwayScoreAdd2); + Controls.Add(ButtonHomeScoreSubtract1); + Controls.Add(ButtonAwayScoreAdd1); + Controls.Add(ButtonHomeScoreAdd2); + Controls.Add(ButtonHomeScoreAdd1); + Controls.Add(Line); + Controls.Add(LabelAwayTitle); + Controls.Add(LabelHomeTitle); + Controls.Add(ButtonSCSet14S); + Controls.Add(ButtonSCSetToDefault); + Controls.Add(ButtonStopClocks); + Controls.Add(ButtonStartClocks); + Controls.Add(ControlPanelMenuStrip); + ForeColor = Color.Black; + MainMenuStrip = ControlPanelMenuStrip; + MaximumSize = new Size(506, 522); + MinimumSize = new Size(506, 522); + Name = "ControlPanel"; + ShowIcon = false; + StartPosition = FormStartPosition.CenterScreen; + Text = "Control Panel"; + FormClosing += ControlPanel_FormClosing; + Load += ControlPanel_Load; + ControlPanelMenuStrip.ResumeLayout(false); + ControlPanelMenuStrip.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + private MenuStrip ControlPanelMenuStrip; + private ToolStripMenuItem TeamsMenu; + private ToolStripMenuItem TeamsMenuHomeChangeName; + private ToolStripMenuItem TeamsMenuAwayChangeName; + private ToolStripMenuItem MainClockMenu; + private ToolStripMenuItem ShotClockMenu; + private ToolStripMenuItem MainClockMenuSetTime; + private ToolStripMenuItem MainClockMenuSetDefaultTime; + private ToolStripMenuItem ShotClockMenuSetTime; + private ToolStripMenuItem ShotClockMenuSetDefaultTime; + private Button ButtonStartClocks; + private Button ButtonStopClocks; + private ToolStripMenuItem ShotClockMenuToggleShotClock; + public Button ButtonSCSetToDefault; + public Button ButtonSCSet14S; + private ToolStripMenuItem SetBonusFoulThresholdMenuButton; + private Label Line; + private Button ButtonHomeScoreAdd1; + private Button ButtonHomeScoreAdd2; + private Button ButtonHomeScoreAdd3; + private Button ButtonHomeScoreSubtract1; + private Button ButtonHomeScoreSubtract2; + private Button ButtonHomeScoreSubtract3; + private Button ButtonAwayScoreAdd1; + private Button ButtonAwayScoreAdd2; + private Button ButtonAwayScoreSubtract1; + private Button ButtonAwayScoreSubtract2; + private Button ButtonAwayScoreAdd3; + private Button ButtonAwayScoreSubtract3; + private ToolStripMenuItem GameMenu; + private ToolStripMenuItem GameMenuSetPeriod; + public ToolStripMenuItem TeamsMenuHome; + public ToolStripMenuItem TeamsMenuAway; + private ToolStripMenuItem GameMenuSwitchPossession; + public Label LabelHomeTitle; + public Label LabelAwayTitle; + private ToolStripMenuItem TeamsMenuHomeSetFouls; + private ToolStripMenuItem TeamsMenuAwaySetFouls; + public Label LabelClock; + public Label LabelShotClock; + public Label LabelPeriod; + public Label LabelAwayPossession; + public Label LabelHomePossession; + public Label LabelAwayBonus; + public Label LabelHomeBonus; + public Label LabelAwayFouls; + public Label LabelAwayScore; + public Label LabelHomeFouls; + public Label LabelHomeScore; + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/ControlPanel.cs b/Basketball Scoreboard System/forms/ControlPanel.cs new file mode 100644 index 0000000..8cefd26 --- /dev/null +++ b/Basketball Scoreboard System/forms/ControlPanel.cs @@ -0,0 +1,366 @@ +namespace Basketball_Scoreboard_System.forms +{ + public partial class ControlPanel : Form + { + public ControlPanel() => InitializeComponent(); + + private void ControlPanel_FormClosing(object sender, FormClosingEventArgs e) + { + MessageBox.Show("This window can be closed by closing the audience window"); + e.Cancel = true; + } + + private void TeamsMenuHomeChangeName_Click(object sender, EventArgs e) + { + TeamNameInput TeamNameInput = new(Program.HomeTeam.Name); + if (TeamNameInput.ShowDialog() == DialogResult.OK) Program.HomeTeam.ChangeTeamName(TeamNameInput.TeamName); + } + + private void TeamsMenuAwayChangeName_Click(object sender, EventArgs e) + { + TeamNameInput TeamNameInput = new(Program.AwayTeam.Name); + if (TeamNameInput.ShowDialog() == DialogResult.OK) Program.AwayTeam.ChangeTeamName(TeamNameInput.TeamName); + } + + private void ControlPanel_Load(object sender, EventArgs e) + { + Program.MainClock.DisplayTime(); + Program.ShotClock.DisplayTime(); + Program.AudienceWindow.LabelPeriod.Text = Program.Period.ToString(); + LabelPeriod.Text = Program.Period.ToString(); + Program.AudienceWindow.LabelHomeTeamFouls.Text = Program.HomeTeam.Fouls.ToString(); + LabelHomeFouls.Text = Program.HomeTeam.Fouls.ToString(); + Program.AudienceWindow.LabelAwayTeamFouls.Text = Program.AwayTeam.Fouls.ToString(); + LabelAwayFouls.Text = Program.AwayTeam.Fouls.ToString(); + + TeamsMenuHome.Text = Settings.Default.HomeTeamName; + TeamsMenuAway.Text = Settings.Default.AwayTeamName; + LabelHomeTitle.Text = Settings.Default.HomeTeamName; + LabelAwayTitle.Text = Settings.Default.AwayTeamName; + + if (Settings.Default.ShotClockEnabled) Program.ShotClock.SCUpdateButtonLabel(); + else + { + Program.AudienceWindow.LabelShotClock.Hide(); + Program.AudienceWindow.LabelShotClockTitle.Hide(); + ButtonSCSetToDefault.Hide(); + ButtonSCSet14S.Hide(); + } + } + + private void MainClockMenuSetTime_Click(object sender, EventArgs e) + { + if (Program.AudienceWindow.MainClockTimer.Enabled) MessageBox.Show("Clock must be stopped", "", MessageBoxButtons.OK); + else + { + TimeSpan CurrentTime = TimeSpan.FromMilliseconds(Program.MainClock.Time); + + MainClockTimeSet MainClockTimeSet = new(); + + MainClockTimeSet.MinutesSelector.Value = CurrentTime.Minutes; + MainClockTimeSet.SecondsSelector.Value = CurrentTime.Seconds; + MainClockTimeSet.MSSelector.Value = CurrentTime.Milliseconds; + + if (MainClockTimeSet.ShowDialog() == DialogResult.OK) + { + TimeSpan NewTime = TimeSpan.FromMinutes(MainClockTimeSet.M) + TimeSpan.FromSeconds(MainClockTimeSet.S) + TimeSpan.FromMilliseconds(MainClockTimeSet.MS); + + Program.MainClock.Time = (int)NewTime.TotalMilliseconds; + Program.MainClock.DisplayTime(); + } + } + } + + private void MainClockMenuSetDefaultTime_Click(object sender, EventArgs e) + { + if (Program.AudienceWindow.MainClockTimer.Enabled) MessageBox.Show("Clock must be stopped", "", MessageBoxButtons.OK); + else + { + TimeSpan CurrentTime = TimeSpan.FromMilliseconds(Program.MainClock.Time); + + MainClockTimeSet MainClockTimeSet = new(); + + MainClockTimeSet.MinutesSelector.Value = CurrentTime.Minutes; + MainClockTimeSet.SecondsSelector.Value = CurrentTime.Seconds; + MainClockTimeSet.MSSelector.Value = CurrentTime.Milliseconds; + + if (MainClockTimeSet.ShowDialog() == DialogResult.OK) + { + TimeSpan NewTime = TimeSpan.FromMinutes(MainClockTimeSet.M) + TimeSpan.FromSeconds(MainClockTimeSet.S) + TimeSpan.FromMilliseconds(MainClockTimeSet.MS); + + Settings.Default.MainClockDefaultTime = (int)NewTime.TotalMilliseconds; + Settings.Default.Save(); + + Program.MainClock.Time = (int)NewTime.TotalMilliseconds; + Program.MainClock.DisplayTime(); + } + } + } + + private void ShotClockMenuSetTime_Click(object sender, EventArgs e) + { + if (!Settings.Default.ShotClockEnabled) MessageBox.Show("Shot Clock is disabled", "", MessageBoxButtons.OK); + else + { + if (Program.AudienceWindow.ShotClockTimer.Enabled) MessageBox.Show("Shot Clock must be stopped", "", MessageBoxButtons.OK); + else + { + TimeSpan CurrentTime = TimeSpan.FromMilliseconds(Program.ShotClock.Time); + + ShotClockTimeSet ShotClockTimeSet = new(); + + ShotClockTimeSet.SecondsSelector.Value = CurrentTime.Seconds; + + if (ShotClockTimeSet.ShowDialog() == DialogResult.OK) + { + TimeSpan NewTime = TimeSpan.FromSeconds(ShotClockTimeSet.S); + + Program.ShotClock.Time = (int)NewTime.TotalMilliseconds; + Program.ShotClock.DisplayTime(); + } + } + } + } + + private void ShotClockMenuSetDefaultTime_Click(object sender, EventArgs e) + { + if (!Settings.Default.ShotClockEnabled) MessageBox.Show("Shot Clock is disabled", "", MessageBoxButtons.OK); + else + { + if (Program.AudienceWindow.ShotClockTimer.Enabled) MessageBox.Show("Shot Clock must be stopped", "", MessageBoxButtons.OK); + else + { + TimeSpan CurrentTime = TimeSpan.FromMilliseconds(Program.ShotClock.Time); + + ShotClockTimeSet ShotClockTimeSet = new(); + + ShotClockTimeSet.SecondsSelector.Value = CurrentTime.Seconds; + + if (ShotClockTimeSet.ShowDialog() == DialogResult.OK) + { + TimeSpan NewTime = TimeSpan.FromSeconds(ShotClockTimeSet.S); + + Settings.Default.ShotClockDefaultTime = (int)NewTime.TotalMilliseconds; + Settings.Default.Save(); + + Program.ShotClock.Time = (int)NewTime.TotalMilliseconds; + Program.ShotClock.DisplayTime(); + } + } + } + } + + private void ButtonStartClocks_Click(object sender, EventArgs e) + { + Program.AudienceWindow.MainClockTimer.Start(); + if (Settings.Default.ShotClockEnabled) Program.AudienceWindow.ShotClockTimer.Start(); + } + + private void ButtonStopClocks_Click(object sender, EventArgs e) + { + Program.AudienceWindow.MainClockTimer.Stop(); + if (Settings.Default.ShotClockEnabled) Program.AudienceWindow.ShotClockTimer.Stop(); + } + + private void ShotClockMenuToggleShotClock_Click(object sender, EventArgs e) + { + Settings.Default.ShotClockEnabled = !Settings.Default.ShotClockEnabled; + Settings.Default.Save(); + if (Settings.Default.ShotClockEnabled) + { + Program.AudienceWindow.LabelShotClock.Show(); + Program.AudienceWindow.LabelShotClockTitle.Show(); + ButtonSCSetToDefault.Show(); + ButtonSCSet14S.Show(); + LabelShotClock.Show(); + Program.ShotClock.SCUpdateButtonLabel(); + } + else + { + Program.AudienceWindow.LabelShotClock.Hide(); + Program.AudienceWindow.LabelShotClockTitle.Hide(); + ButtonSCSetToDefault.Hide(); + ButtonSCSet14S.Hide(); + LabelShotClock.Hide(); + Program.AudienceWindow.ShotClockTimer.Stop(); + } + } + + private void ButtonSCSetToDefault_Click(object sender, EventArgs e) + { + Program.ShotClock.Time = Settings.Default.ShotClockDefaultTime; + Program.ShotClock.DisplayTime(); + if (Program.AudienceWindow.ShotClockTimer.Enabled) + { + Program.AudienceWindow.ShotClockTimer.Stop(); + Program.AudienceWindow.ShotClockTimer.Start(); + } + } + + private void ButtonSCSet14S_Click(object sender, EventArgs e) + { + Program.ShotClock.Time = (int)TimeSpan.FromSeconds(14).TotalMilliseconds; + Program.ShotClock.DisplayTime(); + if (Program.AudienceWindow.ShotClockTimer.Enabled) + { + Program.AudienceWindow.ShotClockTimer.Stop(); + Program.AudienceWindow.ShotClockTimer.Start(); + } + } + + private void SetBonusFoulThresholdMenuButton_Click(object sender, EventArgs e) + { + NumberInput NumberInput = new() + { + Number = Settings.Default.BonusFoulThreshold + }; + + NumberInput.NumberSelector.Value = Settings.Default.BonusFoulThreshold; + NumberInput.Text = "Enter New Threshold"; + + if (NumberInput.ShowDialog() == DialogResult.OK) + { + Settings.Default.BonusFoulThreshold = NumberInput.Number; + Settings.Default.Save(); + } + + if (Program.HomeTeam.Fouls >= Settings.Default.BonusFoulThreshold) + { + Program.AwayTeam.Bonus = true; + Program.AudienceWindow.LabelAwayTeamBonus.Visible = true; + LabelAwayBonus.Visible = true; + } + else + { + Program.AwayTeam.Bonus = false; + Program.AudienceWindow.LabelAwayTeamBonus.Visible = false; + LabelAwayBonus.Visible = false; + } + + if (Program.AwayTeam.Fouls >= Settings.Default.BonusFoulThreshold) + { + Program.HomeTeam.Bonus = true; + Program.AudienceWindow.LabelHomeTeamBonus.Visible = true; + LabelHomeBonus.Visible = true; + } + else + { + Program.HomeTeam.Bonus = false; + Program.AudienceWindow.LabelHomeTeamBonus.Visible = false; + LabelHomeBonus.Visible = false; + } + } + + private void ButtonHomeScoreAdd1_Click(object sender, EventArgs e) => Program.HomeTeam.ChangeScore(1); + + private void ButtonHomeScoreAdd2_Click(object sender, EventArgs e) => Program.HomeTeam.ChangeScore(2); + + private void ButtonHomeScoreAdd3_Click(object sender, EventArgs e) => Program.HomeTeam.ChangeScore(3); + + private void ButtonHomeScoreSubtract1_Click(object sender, EventArgs e) => Program.HomeTeam.ChangeScore(-1); + + private void ButtonHomeScoreSubtract2_Click(object sender, EventArgs e) => Program.HomeTeam.ChangeScore(-2); + + private void ButtonHomeScoreSubtract3_Click(object sender, EventArgs e) => Program.HomeTeam.ChangeScore(-3); + + private void ButtonAwayScoreAdd1_Click(object sender, EventArgs e) => Program.AwayTeam.ChangeScore(1); + + private void ButtonAwayScoreAdd2_Click(object sender, EventArgs e) => Program.AwayTeam.ChangeScore(2); + + private void ButtonAwayScoreAdd3_Click(object sender, EventArgs e) => Program.AwayTeam.ChangeScore(3); + + private void ButtonAwayScoreSubtract1_Click(object sender, EventArgs e) => Program.AwayTeam.ChangeScore(-1); + + private void ButtonAwayScoreSubtract2_Click(object sender, EventArgs e) => Program.AwayTeam.ChangeScore(-2); + + private void ButtonAwayScoreSubtract3_Click(object sender, EventArgs e) => Program.AwayTeam.ChangeScore(-3); + + private void GameMenuSetPeriod_Click(object sender, EventArgs e) + { + NumberInput NumberInput = new() + { + Number = Program.Period + }; + + NumberInput.NumberSelector.Value = Program.Period; + NumberInput.NumberSelector.Maximum = 9; + NumberInput.Text = "Enter Period"; + + if (NumberInput.ShowDialog() == DialogResult.OK) Program.Period = NumberInput.Number; + Program.AudienceWindow.LabelPeriod.Text = Program.Period.ToString(); + LabelPeriod.Text = Program.Period.ToString(); + } + + private void GameMenuSwitchPossession_Click(object sender, EventArgs e) + { + Program.HomeTeam.Possession = !Program.HomeTeam.Possession; + Program.AwayTeam.Possession = !Program.AwayTeam.Possession; + + Program.AudienceWindow.LabelHomeTeamPossession.Visible = Program.HomeTeam.Possession; + Program.AudienceWindow.LabelAwayTeamPossession.Visible = Program.AwayTeam.Possession; + + LabelHomePossession.Visible = Program.HomeTeam.Possession; + LabelAwayPossession.Visible = Program.AwayTeam.Possession; + } + + private void TeamsMenuHomeSetFouls_Click(object sender, EventArgs e) + { + NumberInput NumberInput = new() + { + Number = Program.HomeTeam.Fouls + }; + + NumberInput.NumberSelector.Maximum = 9; + NumberInput.NumberSelector.Minimum = 0; + NumberInput.NumberSelector.Value = Program.HomeTeam.Fouls; + NumberInput.Text = "Enter Fouls"; + + if (NumberInput.ShowDialog() == DialogResult.OK) Program.HomeTeam.Fouls = NumberInput.Number; + Program.AudienceWindow.LabelHomeTeamFouls.Text = Program.HomeTeam.Fouls.ToString(); + LabelHomeFouls.Text = Program.HomeTeam.Fouls.ToString(); + + if (Program.HomeTeam.Fouls >= Settings.Default.BonusFoulThreshold) + { + Program.AwayTeam.Bonus = true; + Program.AudienceWindow.LabelAwayTeamBonus.Visible = true; + LabelAwayBonus.Visible = true; + } + else + { + Program.AwayTeam.Bonus = false; + Program.AudienceWindow.LabelAwayTeamBonus.Visible = false; + LabelAwayBonus.Visible = false; + } + } + + private void TeamsMenuAwaySetFouls_Click(object sender, EventArgs e) + { + NumberInput NumberInput = new() + { + Number = Program.AwayTeam.Fouls + }; + + NumberInput.NumberSelector.Maximum = 9; + NumberInput.NumberSelector.Minimum = 0; + NumberInput.NumberSelector.Value = Program.AwayTeam.Fouls; + NumberInput.Text = "Enter Fouls"; + + if (NumberInput.ShowDialog() == DialogResult.OK) Program.AwayTeam.Fouls = NumberInput.Number; + Program.AudienceWindow.LabelAwayTeamFouls.Text = Program.AwayTeam.Fouls.ToString(); + LabelAwayFouls.Text = Program.AwayTeam.Fouls.ToString(); + + if (Program.AwayTeam.Fouls >= Settings.Default.BonusFoulThreshold) + { + Program.HomeTeam.Bonus = true; + Program.AudienceWindow.LabelHomeTeamBonus.Visible = true; + LabelHomeBonus.Visible = true; + } + else + { + Program.HomeTeam.Bonus = false; + Program.AudienceWindow.LabelHomeTeamBonus.Visible = false; + LabelHomeBonus.Visible = false; + } + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/ControlPanel.resx b/Basketball Scoreboard System/forms/ControlPanel.resx new file mode 100644 index 0000000..0b61ded --- /dev/null +++ b/Basketball Scoreboard System/forms/ControlPanel.resx @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/MainClockTimeSet.Designer.cs b/Basketball Scoreboard System/forms/MainClockTimeSet.Designer.cs new file mode 100644 index 0000000..23735c2 --- /dev/null +++ b/Basketball Scoreboard System/forms/MainClockTimeSet.Designer.cs @@ -0,0 +1,156 @@ +namespace Basketball_Scoreboard_System.forms +{ + partial class MainClockTimeSet + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.ButtonCancel = new System.Windows.Forms.Button(); + this.ButtonOK = new System.Windows.Forms.Button(); + this.MinutesSelector = new System.Windows.Forms.NumericUpDown(); + this.SecondsSelector = new System.Windows.Forms.NumericUpDown(); + this.MSSelector = new System.Windows.Forms.NumericUpDown(); + this.Colon = new System.Windows.Forms.Label(); + this.Dot = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.MinutesSelector)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.SecondsSelector)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.MSSelector)).BeginInit(); + this.SuspendLayout(); + // + // ButtonCancel + // + this.ButtonCancel.Location = new System.Drawing.Point(12, 41); + this.ButtonCancel.Name = "ButtonCancel"; + this.ButtonCancel.Size = new System.Drawing.Size(64, 24); + this.ButtonCancel.TabIndex = 2; + this.ButtonCancel.Text = "Cancel"; + this.ButtonCancel.UseVisualStyleBackColor = true; + this.ButtonCancel.Click += new System.EventHandler(this.ButtonCancel_Click); + // + // ButtonOK + // + this.ButtonOK.Location = new System.Drawing.Point(83, 41); + this.ButtonOK.Name = "ButtonOK"; + this.ButtonOK.Size = new System.Drawing.Size(64, 24); + this.ButtonOK.TabIndex = 3; + this.ButtonOK.Text = "OK"; + this.ButtonOK.UseVisualStyleBackColor = true; + this.ButtonOK.Click += new System.EventHandler(this.ButtonOK_Click); + // + // MinutesSelector + // + this.MinutesSelector.Location = new System.Drawing.Point(12, 12); + this.MinutesSelector.Maximum = new decimal(new int[] { + 59, + 0, + 0, + 0}); + this.MinutesSelector.Name = "MinutesSelector"; + this.MinutesSelector.Size = new System.Drawing.Size(35, 23); + this.MinutesSelector.TabIndex = 4; + this.MinutesSelector.ValueChanged += new System.EventHandler(this.MinutesSelector_ValueChanged); + // + // SecondsSelector + // + this.SecondsSelector.Location = new System.Drawing.Point(57, 12); + this.SecondsSelector.Maximum = new decimal(new int[] { + 59, + 0, + 0, + 0}); + this.SecondsSelector.Name = "SecondsSelector"; + this.SecondsSelector.Size = new System.Drawing.Size(35, 23); + this.SecondsSelector.TabIndex = 5; + this.SecondsSelector.ValueChanged += new System.EventHandler(this.SecondsSelector_ValueChanged); + // + // MSSelector + // + this.MSSelector.Location = new System.Drawing.Point(103, 12); + this.MSSelector.Maximum = new decimal(new int[] { + 999, + 0, + 0, + 0}); + this.MSSelector.Name = "MSSelector"; + this.MSSelector.Size = new System.Drawing.Size(44, 23); + this.MSSelector.TabIndex = 6; + this.MSSelector.ValueChanged += new System.EventHandler(this.MSSelector_ValueChanged); + // + // Colon + // + this.Colon.Location = new System.Drawing.Point(47, 12); + this.Colon.Name = "Colon"; + this.Colon.Size = new System.Drawing.Size(10, 23); + this.Colon.TabIndex = 7; + this.Colon.Text = ":"; + this.Colon.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // Dot + // + this.Dot.Location = new System.Drawing.Point(92, 12); + this.Dot.Name = "Dot"; + this.Dot.Size = new System.Drawing.Size(11, 23); + this.Dot.TabIndex = 8; + this.Dot.Text = "."; + this.Dot.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // MainClockTimeSet + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(159, 76); + this.ControlBox = false; + this.Controls.Add(this.Dot); + this.Controls.Add(this.Colon); + this.Controls.Add(this.MSSelector); + this.Controls.Add(this.SecondsSelector); + this.Controls.Add(this.MinutesSelector); + this.Controls.Add(this.ButtonCancel); + this.Controls.Add(this.ButtonOK); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.MaximumSize = new System.Drawing.Size(175, 115); + this.MinimumSize = new System.Drawing.Size(175, 115); + this.Name = "MainClockTimeSet"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Enter Time"; + ((System.ComponentModel.ISupportInitialize)(this.MinutesSelector)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.SecondsSelector)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.MSSelector)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private Button ButtonCancel; + private Button ButtonOK; + private Label Colon; + private Label Dot; + public NumericUpDown MinutesSelector; + public NumericUpDown SecondsSelector; + public NumericUpDown MSSelector; + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/MainClockTimeSet.cs b/Basketball Scoreboard System/forms/MainClockTimeSet.cs new file mode 100644 index 0000000..4f78209 --- /dev/null +++ b/Basketball Scoreboard System/forms/MainClockTimeSet.cs @@ -0,0 +1,41 @@ +namespace Basketball_Scoreboard_System.forms +{ + public partial class MainClockTimeSet : Form + { + public int M { get; set; } + public int S { get; set; } + public int MS { get; set; } + + public MainClockTimeSet() => InitializeComponent(); + + private void ButtonOK_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + private void ButtonCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + Close(); + } + + private void MinutesSelector_ValueChanged(object sender, EventArgs e) + { + M = (int)MinutesSelector.Value; + MinutesSelector.Text = M.ToString(); + } + + private void SecondsSelector_ValueChanged(object sender, EventArgs e) + { + S = (int)SecondsSelector.Value; + SecondsSelector.Text = S.ToString(); + } + + private void MSSelector_ValueChanged(object sender, EventArgs e) + { + MS = (int)MSSelector.Value; + MSSelector.Text = MS.ToString(); + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/MainClockTimeSet.resx b/Basketball Scoreboard System/forms/MainClockTimeSet.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/Basketball Scoreboard System/forms/MainClockTimeSet.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/NumberInput.Designer.cs b/Basketball Scoreboard System/forms/NumberInput.Designer.cs new file mode 100644 index 0000000..5bb5253 --- /dev/null +++ b/Basketball Scoreboard System/forms/NumberInput.Designer.cs @@ -0,0 +1,98 @@ +namespace Basketball_Scoreboard_System.forms +{ + partial class NumberInput + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.NumberSelector = new System.Windows.Forms.NumericUpDown(); + this.ButtonCancel = new System.Windows.Forms.Button(); + this.ButtonOK = new System.Windows.Forms.Button(); + ((System.ComponentModel.ISupportInitialize)(this.NumberSelector)).BeginInit(); + this.SuspendLayout(); + // + // NumberSelector + // + this.NumberSelector.Location = new System.Drawing.Point(12, 12); + this.NumberSelector.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NumberSelector.Name = "NumberSelector"; + this.NumberSelector.Size = new System.Drawing.Size(135, 23); + this.NumberSelector.TabIndex = 14; + this.NumberSelector.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NumberSelector.ValueChanged += new System.EventHandler(this.NumberSelector_ValueChanged); + // + // ButtonCancel + // + this.ButtonCancel.Location = new System.Drawing.Point(12, 41); + this.ButtonCancel.Name = "ButtonCancel"; + this.ButtonCancel.Size = new System.Drawing.Size(64, 24); + this.ButtonCancel.TabIndex = 12; + this.ButtonCancel.Text = "Cancel"; + this.ButtonCancel.UseVisualStyleBackColor = true; + this.ButtonCancel.Click += new System.EventHandler(this.ButtonCancel_Click); + // + // ButtonOK + // + this.ButtonOK.Location = new System.Drawing.Point(83, 41); + this.ButtonOK.Name = "ButtonOK"; + this.ButtonOK.Size = new System.Drawing.Size(64, 24); + this.ButtonOK.TabIndex = 13; + this.ButtonOK.Text = "OK"; + this.ButtonOK.UseVisualStyleBackColor = true; + this.ButtonOK.Click += new System.EventHandler(this.ButtonOK_Click); + // + // NumberInput + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(159, 76); + this.ControlBox = false; + this.Controls.Add(this.NumberSelector); + this.Controls.Add(this.ButtonCancel); + this.Controls.Add(this.ButtonOK); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "NumberInput"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Enter Number"; + ((System.ComponentModel.ISupportInitialize)(this.NumberSelector)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + public NumericUpDown NumberSelector; + private Button ButtonCancel; + private Button ButtonOK; + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/NumberInput.cs b/Basketball Scoreboard System/forms/NumberInput.cs new file mode 100644 index 0000000..1cb917b --- /dev/null +++ b/Basketball Scoreboard System/forms/NumberInput.cs @@ -0,0 +1,27 @@ +namespace Basketball_Scoreboard_System.forms +{ + public partial class NumberInput : Form + { + public int Number { get; set; } + + public NumberInput() => InitializeComponent(); + + private void ButtonOK_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + private void ButtonCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + Close(); + } + + private void NumberSelector_ValueChanged(object sender, EventArgs e) + { + Number = (int)NumberSelector.Value; + NumberSelector.Text = Number.ToString(); + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/NumberInput.resx b/Basketball Scoreboard System/forms/NumberInput.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/Basketball Scoreboard System/forms/NumberInput.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/ShotClockTimeSet.Designer.cs b/Basketball Scoreboard System/forms/ShotClockTimeSet.Designer.cs new file mode 100644 index 0000000..47ef642 --- /dev/null +++ b/Basketball Scoreboard System/forms/ShotClockTimeSet.Designer.cs @@ -0,0 +1,108 @@ +namespace Basketball_Scoreboard_System.forms +{ + partial class ShotClockTimeSet + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.ButtonCancel = new System.Windows.Forms.Button(); + this.ButtonOK = new System.Windows.Forms.Button(); + this.LabelSeconds = new System.Windows.Forms.Label(); + this.SecondsSelector = new System.Windows.Forms.NumericUpDown(); + ((System.ComponentModel.ISupportInitialize)(this.SecondsSelector)).BeginInit(); + this.SuspendLayout(); + // + // ButtonCancel + // + this.ButtonCancel.Location = new System.Drawing.Point(12, 41); + this.ButtonCancel.Name = "ButtonCancel"; + this.ButtonCancel.Size = new System.Drawing.Size(64, 24); + this.ButtonCancel.TabIndex = 4; + this.ButtonCancel.Text = "Cancel"; + this.ButtonCancel.UseVisualStyleBackColor = true; + this.ButtonCancel.Click += new System.EventHandler(this.ButtonCancel_Click); + // + // ButtonOK + // + this.ButtonOK.Location = new System.Drawing.Point(83, 41); + this.ButtonOK.Name = "ButtonOK"; + this.ButtonOK.Size = new System.Drawing.Size(64, 24); + this.ButtonOK.TabIndex = 5; + this.ButtonOK.Text = "OK"; + this.ButtonOK.UseVisualStyleBackColor = true; + this.ButtonOK.Click += new System.EventHandler(this.ButtonOK_Click); + // + // LabelSeconds + // + this.LabelSeconds.Location = new System.Drawing.Point(95, 12); + this.LabelSeconds.Name = "LabelSeconds"; + this.LabelSeconds.Size = new System.Drawing.Size(52, 23); + this.LabelSeconds.TabIndex = 11; + this.LabelSeconds.Text = "Seconds"; + this.LabelSeconds.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // SecondsSelector + // + this.SecondsSelector.Location = new System.Drawing.Point(12, 12); + this.SecondsSelector.Maximum = new decimal(new int[] { + 59, + 0, + 0, + 0}); + this.SecondsSelector.Name = "SecondsSelector"; + this.SecondsSelector.Size = new System.Drawing.Size(77, 23); + this.SecondsSelector.TabIndex = 9; + this.SecondsSelector.ValueChanged += new System.EventHandler(this.SecondsSelector_ValueChanged); + // + // ShotClockTimeSet + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(159, 76); + this.ControlBox = false; + this.Controls.Add(this.LabelSeconds); + this.Controls.Add(this.SecondsSelector); + this.Controls.Add(this.ButtonCancel); + this.Controls.Add(this.ButtonOK); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.MaximumSize = new System.Drawing.Size(175, 115); + this.MinimumSize = new System.Drawing.Size(175, 115); + this.Name = "ShotClockTimeSet"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Enter Time"; + ((System.ComponentModel.ISupportInitialize)(this.SecondsSelector)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private Button ButtonCancel; + private Button ButtonOK; + private Label LabelSeconds; + public NumericUpDown SecondsSelector; + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/ShotClockTimeSet.cs b/Basketball Scoreboard System/forms/ShotClockTimeSet.cs new file mode 100644 index 0000000..189d756 --- /dev/null +++ b/Basketball Scoreboard System/forms/ShotClockTimeSet.cs @@ -0,0 +1,27 @@ +namespace Basketball_Scoreboard_System.forms +{ + public partial class ShotClockTimeSet : Form + { + public int S { get; set; } + + public ShotClockTimeSet() => InitializeComponent(); + + private void ButtonOK_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.OK; + Close(); + } + + private void ButtonCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + Close(); + } + + private void SecondsSelector_ValueChanged(object sender, EventArgs e) + { + S = (int)SecondsSelector.Value; + SecondsSelector.Text = S.ToString(); + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/ShotClockTimeSet.resx b/Basketball Scoreboard System/forms/ShotClockTimeSet.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/Basketball Scoreboard System/forms/ShotClockTimeSet.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/TeamNameInput.Designer.cs b/Basketball Scoreboard System/forms/TeamNameInput.Designer.cs new file mode 100644 index 0000000..1804ac4 --- /dev/null +++ b/Basketball Scoreboard System/forms/TeamNameInput.Designer.cs @@ -0,0 +1,93 @@ +namespace Basketball_Scoreboard_System.forms +{ + partial class TeamNameInput + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.TeamNameTextBox = new System.Windows.Forms.TextBox(); + this.ButtonOK = new System.Windows.Forms.Button(); + this.ButtonCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // TeamNameTextBox + // + this.TeamNameTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.TeamNameTextBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper; + this.TeamNameTextBox.Location = new System.Drawing.Point(12, 12); + this.TeamNameTextBox.MaxLength = 7; + this.TeamNameTextBox.Name = "TeamNameTextBox"; + this.TeamNameTextBox.Size = new System.Drawing.Size(135, 23); + this.TeamNameTextBox.TabIndex = 0; + this.TeamNameTextBox.TextChanged += new System.EventHandler(this.TeamNameTextBox_TextChanged); + // + // ButtonOK + // + this.ButtonOK.Location = new System.Drawing.Point(83, 41); + this.ButtonOK.Name = "ButtonOK"; + this.ButtonOK.Size = new System.Drawing.Size(64, 24); + this.ButtonOK.TabIndex = 1; + this.ButtonOK.Text = "OK"; + this.ButtonOK.UseVisualStyleBackColor = true; + this.ButtonOK.Click += new System.EventHandler(this.ButtonOK_Click); + // + // ButtonCancel + // + this.ButtonCancel.Location = new System.Drawing.Point(12, 41); + this.ButtonCancel.Name = "ButtonCancel"; + this.ButtonCancel.Size = new System.Drawing.Size(64, 24); + this.ButtonCancel.TabIndex = 1; + this.ButtonCancel.Text = "Cancel"; + this.ButtonCancel.UseVisualStyleBackColor = true; + this.ButtonCancel.Click += new System.EventHandler(this.ButtonCancel_Click); + // + // TeamNameInput + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(159, 76); + this.ControlBox = false; + this.Controls.Add(this.ButtonCancel); + this.Controls.Add(this.ButtonOK); + this.Controls.Add(this.TeamNameTextBox); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.MaximumSize = new System.Drawing.Size(175, 115); + this.MinimumSize = new System.Drawing.Size(175, 115); + this.Name = "TeamNameInput"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Enter Team Name"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + public TextBox TeamNameTextBox; + private Button ButtonOK; + private Button ButtonCancel; + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/TeamNameInput.cs b/Basketball Scoreboard System/forms/TeamNameInput.cs new file mode 100644 index 0000000..e8158ef --- /dev/null +++ b/Basketball Scoreboard System/forms/TeamNameInput.cs @@ -0,0 +1,32 @@ +namespace Basketball_Scoreboard_System.forms +{ + public partial class TeamNameInput : Form + { + public TeamNameInput(string Name) + { + InitializeComponent(); + TeamName = Name; + } + + public string TeamName { get; set; } + + private void TeamNameTextBox_TextChanged(object sender, EventArgs e) => TeamName = TeamNameTextBox.Text; + + private void ButtonOK_Click(object sender, EventArgs e) + { + if (TeamName.Length < 4) MessageBox.Show("Team name cannot be less than 4 characters", "Invalid Entry", MessageBoxButtons.OK); + else if (TeamName.Length > 7) MessageBox.Show("Team name cannot be more than 7 characters", "Invalid Entry", MessageBoxButtons.OK); + else + { + DialogResult = DialogResult.OK; + Close(); + } + } + + private void ButtonCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + Close(); + } + } +} \ No newline at end of file diff --git a/Basketball Scoreboard System/forms/TeamNameInput.resx b/Basketball Scoreboard System/forms/TeamNameInput.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/Basketball Scoreboard System/forms/TeamNameInput.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Setup/Setup.vdproj b/Setup/Setup.vdproj new file mode 100644 index 0000000..cdb13fd --- /dev/null +++ b/Setup/Setup.vdproj @@ -0,0 +1,1020 @@ +"DeployProject" +{ +"VSVersion" = "3:800" +"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}" +"IsWebType" = "8:FALSE" +"ProjectName" = "8:Setup" +"LanguageId" = "3:1033" +"CodePage" = "3:1252" +"UILanguageId" = "3:1033" +"SccProjectName" = "8:" +"SccLocalPath" = "8:" +"SccAuxPath" = "8:" +"SccProvider" = "8:" + "Hierarchy" + { + "Entry" + { + "MsmKey" = "8:_165FE36E955740AC9A5CFCE51CB5E2EC" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_3478B7AB5C4F459287E0B80508E00F73" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_3F75EDB406644C9B86B12A8B06D78437" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_4D9CBF8D01D646169B59EE4761AA33AC" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_57A5BD3AD4BB438DBBC21F27E609D771" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_76A3A3D267474A608119A324D1A4F04F" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_97319369BF26445DB5A72E71B05D0846" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_B9F7A53D360846088087C9C53185A0D0" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_D74FF9A38CF74990A79AD85A93714E7E" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_E13718A18FAF4A6B88207CA2B7CDE378" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + } + "Configurations" + { + "Debug" + { + "DisplayName" = "8:Debug" + "IsDebugOnly" = "11:TRUE" + "IsReleaseOnly" = "11:FALSE" + "OutputFilename" = "8:Debug\\Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2" + { + "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)" + "ProductCode" = "8:.NETFramework,Version=v4.7.2" + } + } + } + } + "Release" + { + "DisplayName" = "8:Release" + "IsDebugOnly" = "11:FALSE" + "IsReleaseOnly" = "11:TRUE" + "OutputFilename" = "8:Release\\BSS-Setup.msi" + "PackageFilesAs" = "3:2" + "PackageFileSize" = "3:-2147483648" + "CabType" = "3:1" + "Compression" = "3:2" + "SignOutput" = "11:FALSE" + "CertificateFile" = "8:" + "PrivateKeyFile" = "8:" + "TimeStampServer" = "8:" + "InstallerBootstrapper" = "3:2" + "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}" + { + "Enabled" = "11:TRUE" + "PromptEnabled" = "11:TRUE" + "PrerequisitesLocation" = "2:1" + "Url" = "8:" + "ComponentsUrl" = "8:" + "Items" + { + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2" + { + "Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)" + "ProductCode" = "8:.NETFramework,Version=v4.7.2" + } + } + } + } + } + "Deployable" + { + "CustomAction" + { + } + "DefaultFeature" + { + "Name" = "8:DefaultFeature" + "Title" = "8:" + "Description" = "8:" + } + "ExternalPersistence" + { + "LaunchCondition" + { + "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_854C21D2433047CF81DBEEDF4BD6AAFA" + { + "Name" = "8:.NET Core" + "Message" = "8:[VSDNETCOREMSG]" + "AllowLaterVersions" = "11:FALSE" + "InstallUrl" = "8:https://dotnet.microsoft.com/download/dotnet-core/[NetCoreVerMajorDotMinor]" + "IsNETCore" = "11:TRUE" + "Architecture" = "2:0" + "Runtime" = "2:0" + } + } + } + "File" + { + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_165FE36E955740AC9A5CFCE51CB5E2EC" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\fonts\\DSEG14Classic-Regular.ttf" + "TargetName" = "8:DSEG14Classic-Regular.ttf" + "Tag" = "8:" + "Folder" = "8:_820919D3350A4FF6BC0958B193FDBDE4" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3478B7AB5C4F459287E0B80508E00F73" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\fonts\\fira-mono-bold.ttf" + "TargetName" = "8:fira-mono-bold.ttf" + "Tag" = "8:" + "Folder" = "8:_93740A828E174DF3A0EA1F9C6953F4AD" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:TRUE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:5" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3F75EDB406644C9B86B12A8B06D78437" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\fonts\\DSEG14Classic-Regular.ttf" + "TargetName" = "8:DSEG14Classic-Regular.ttf" + "Tag" = "8:" + "Folder" = "8:_93740A828E174DF3A0EA1F9C6953F4AD" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:TRUE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:5" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4D9CBF8D01D646169B59EE4761AA33AC" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\fonts\\DSEG7Classic-Regular.ttf" + "TargetName" = "8:DSEG7Classic-Regular.ttf" + "Tag" = "8:" + "Folder" = "8:_820919D3350A4FF6BC0958B193FDBDE4" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_76A3A3D267474A608119A324D1A4F04F" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\assets\\icon.ico" + "TargetName" = "8:icon.ico" + "Tag" = "8:" + "Folder" = "8:_375CFC78F18A4A6897911502E26CABF6" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_97319369BF26445DB5A72E71B05D0846" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\assets\\buzzer-main.wav" + "TargetName" = "8:buzzer-main.wav" + "Tag" = "8:" + "Folder" = "8:_375CFC78F18A4A6897911502E26CABF6" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B9F7A53D360846088087C9C53185A0D0" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\assets\\buzzer-shotclock.wav" + "TargetName" = "8:buzzer-shotclock.wav" + "Tag" = "8:" + "Folder" = "8:_375CFC78F18A4A6897911502E26CABF6" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D74FF9A38CF74990A79AD85A93714E7E" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\fonts\\fira-mono-bold.ttf" + "TargetName" = "8:fira-mono-bold.ttf" + "Tag" = "8:" + "Folder" = "8:_820919D3350A4FF6BC0958B193FDBDE4" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E13718A18FAF4A6B88207CA2B7CDE378" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\fonts\\DSEG7Classic-Regular.ttf" + "TargetName" = "8:DSEG7Classic-Regular.ttf" + "Tag" = "8:" + "Folder" = "8:_93740A828E174DF3A0EA1F9C6953F4AD" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:TRUE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:5" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } + } + "FileType" + { + } + "Folder" + { + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_41CF9708B5A94C64BA1F7BE89E47C63C" + { + "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:TRUE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_375CFC78F18A4A6897911502E26CABF6" + { + "Name" = "8:assets" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_DA02318C11684D29939524515AFF72F4" + "Folders" + { + } + } + "{9EF0B969-E518-4E46-987F-47570745A589}:_820919D3350A4FF6BC0958B193FDBDE4" + { + "Name" = "8:fonts" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_2937719E7FF94F38B01394E8A42EF9AD" + "Folders" + { + } + } + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_915530E4846049C79CCF19D68E790F2E" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_93740A828E174DF3A0EA1F9C6953F4AD" + { + "Name" = "8:#1911" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:FontsFolder" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_9A3C2BEF62AD4B2D88CCC4CA27790BCC" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + } + "LaunchCondition" + { + } + "Locator" + { + } + "MsiBootstrapper" + { + "LangId" = "3:1033" + "RequiresElevation" = "11:FALSE" + } + "Product" + { + "Name" = "8:Microsoft Visual Studio" + "ProductName" = "8:Basketball Scoreboard System" + "ProductCode" = "8:{988E09D1-A6BB-4BB0-8BB6-36696082E19E}" + "PackageCode" = "8:{A7491C2F-F9CB-453A-A304-C5EAA9026E5F}" + "UpgradeCode" = "8:{5D333D15-943A-41F2-B436-F04F69C75730}" + "AspNetVersion" = "8:2.0.50727.0" + "RestartWWWService" = "11:FALSE" + "RemovePreviousVersions" = "11:FALSE" + "DetectNewerInstalledVersion" = "11:TRUE" + "InstallAllUsers" = "11:FALSE" + "ProductVersion" = "8:1.0.0" + "Manufacturer" = "8:Ahmed Al-Taiar" + "ARPHELPTELEPHONE" = "8:" + "ARPHELPLINK" = "8:" + "Title" = "8:Basketball Scoreboard System" + "Subject" = "8:" + "ARPCONTACT" = "8:Ahmed Al-Taiar" + "Keywords" = "8:Sports,Basketball,Timer,Score" + "ARPCOMMENTS" = "8:Scorekeep Basketball games!" + "ARPURLINFOABOUT" = "8:" + "ARPPRODUCTICON" = "8:" + "ARPIconIndex" = "3:0" + "SearchPath" = "8:" + "UseSystemSearchPath" = "11:TRUE" + "TargetPlatform" = "3:0" + "PreBuildEvent" = "8:" + "PostBuildEvent" = "8:" + "RunPostBuildEvent" = "3:0" + } + "Registry" + { + "HKLM" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3104CDA02A9C40ADB91A664CBC676A0F" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4612303200CA4998BF313790D3608FB0" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCU" + { + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_640E4E8EC1BC453D90883F06B83D287E" + { + "Name" = "8:Software" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C693EB02FA164446A29DC5F87B80AB16" + { + "Name" = "8:[Manufacturer]" + "Condition" = "8:" + "AlwaysCreate" = "11:FALSE" + "DeleteAtUninstall" = "11:FALSE" + "Transitive" = "11:FALSE" + "Keys" + { + } + "Values" + { + } + } + } + "Values" + { + } + } + } + } + "HKCR" + { + "Keys" + { + } + } + "HKU" + { + "Keys" + { + } + } + "HKPU" + { + "Keys" + { + } + } + } + "Sequences" + { + } + "Shortcut" + { + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_29CE269E99D446CB9DD8CF12CA5DC6D6" + { + "Name" = "8:Basketball Scoreboard System" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_57A5BD3AD4BB438DBBC21F27E609D771" + "Folder" = "8:_915530E4846049C79CCF19D68E790F2E" + "WorkingFolder" = "8:_41CF9708B5A94C64BA1F7BE89E47C63C" + "Icon" = "8:_76A3A3D267474A608119A324D1A4F04F" + "Feature" = "8:" + } + "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_5E2A60ABEA714F33BF7ABB125B9969CF" + { + "Name" = "8:Basketball Scoreboard System" + "Arguments" = "8:" + "Description" = "8:" + "ShowCmd" = "3:1" + "IconIndex" = "3:0" + "Transitive" = "11:FALSE" + "Target" = "8:_57A5BD3AD4BB438DBBC21F27E609D771" + "Folder" = "8:_9A3C2BEF62AD4B2D88CCC4CA27790BCC" + "WorkingFolder" = "8:_41CF9708B5A94C64BA1F7BE89E47C63C" + "Icon" = "8:_76A3A3D267474A608119A324D1A4F04F" + "Feature" = "8:" + } + } + "UserInterface" + { + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0296CA903FE2499C96CA00A8258FAC4B" + { + "Name" = "8:#1900" + "Sequence" = "3:2" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4E169840E35F4B5C82EA48DE533C0A5F" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_829BF06AE52945DF95538BB73F32B1DC" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B3C678E977C24F15A04E63FCB822122D" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_42859D1323DB43E49ED99A7972831CA5" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdUserInterface.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_48521A0702EB48B597A0773ADF6257B6" + { + "Name" = "8:#1901" + "Sequence" = "3:1" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2A21AA9A4F304ACB9F32FC23C9C4DC72" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_90B087748C6341E89655F46D72FC4599" + { + "Name" = "8:#1902" + "Sequence" = "3:1" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_98E4CECEFBF14540B8B7529D5D0AC1A0" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "UpdateText" + { + "Name" = "8:UpdateText" + "DisplayName" = "8:#1058" + "Description" = "8:#1158" + "Type" = "3:15" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1258" + "DefaultValue" = "8:#1258" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9F3B6DE0980D4D5FBC25016F1CE0E52F" + { + "Name" = "8:#1901" + "Sequence" = "3:2" + "Attributes" = "3:2" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D4AB884A88F14F8988A71CFAA0CB03C0" + { + "Sequence" = "3:100" + "DisplayName" = "8:Progress" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminProgressDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "ShowProgress" + { + "Name" = "8:ShowProgress" + "DisplayName" = "8:#1009" + "Description" = "8:#1109" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_B30606D55A1945CF93F6E9EFDF2042CC" + { + "UseDynamicProperties" = "11:FALSE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdBasicDialogs.wim" + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F71AE6E600B64900A61C03423B278E97" + { + "Name" = "8:#1900" + "Sequence" = "3:1" + "Attributes" = "3:1" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_76DD2C9CFB0A435AB4492E716FE74B59" + { + "Sequence" = "3:200" + "DisplayName" = "8:Installation Folder" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdFolderDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "InstallAllUsersVisible" + { + "Name" = "8:InstallAllUsersVisible" + "DisplayName" = "8:#1059" + "Description" = "8:#1159" + "Type" = "3:5" + "ContextData" = "8:1;True=1;False=0" + "Attributes" = "3:0" + "Setting" = "3:0" + "Value" = "3:1" + "DefaultValue" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9B91545AD6864B61BE27FCA400BEEB8A" + { + "Sequence" = "3:300" + "DisplayName" = "8:Confirm Installation" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdConfirmDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A33D7CB6648F497CABF9602C29C698B1" + { + "Sequence" = "3:100" + "DisplayName" = "8:Welcome" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdWelcomeDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + "CopyrightWarning" + { + "Name" = "8:CopyrightWarning" + "DisplayName" = "8:#1002" + "Description" = "8:#1102" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1202" + "DefaultValue" = "8:#1202" + "UsePlugInResources" = "11:TRUE" + } + "Welcome" + { + "Name" = "8:Welcome" + "DisplayName" = "8:#1003" + "Description" = "8:#1103" + "Type" = "3:3" + "ContextData" = "8:" + "Attributes" = "3:0" + "Setting" = "3:1" + "Value" = "8:#1203" + "DefaultValue" = "8:#1203" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_FDDD4B17F554462792D37A72ACCD12F9" + { + "Name" = "8:#1902" + "Sequence" = "3:2" + "Attributes" = "3:3" + "Dialogs" + { + "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_62AAA925295C43FD9FE03207674B07DB" + { + "Sequence" = "3:100" + "DisplayName" = "8:Finished" + "UseDynamicProperties" = "11:TRUE" + "IsDependency" = "11:FALSE" + "SourcePath" = "8:\\VsdAdminFinishedDlg.wid" + "Properties" + { + "BannerBitmap" + { + "Name" = "8:BannerBitmap" + "DisplayName" = "8:#1001" + "Description" = "8:#1101" + "Type" = "3:8" + "ContextData" = "8:Bitmap" + "Attributes" = "3:4" + "Setting" = "3:1" + "UsePlugInResources" = "11:TRUE" + } + } + } + } + } + } + "MergeModule" + { + } + "ProjectOutput" + { + "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_57A5BD3AD4BB438DBBC21F27E609D771" + { + "SourcePath" = "8:..\\Basketball Scoreboard System\\obj\\Release\\net6.0-windows\\apphost.exe" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_41CF9708B5A94C64BA1F7BE89E47C63C" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + "ProjectOutputGroupRegister" = "3:1" + "OutputConfiguration" = "8:" + "OutputGroupCanonicalName" = "8:PublishItems" + "OutputProjectGuid" = "8:{6DBE2316-C761-4B9D-9E59-26F9D9429BA1}" + "ShowKeyOutput" = "11:TRUE" + "ExcludeFilters" + { + } + } + } + } +}