diff --git a/02_Windows_App/Perun_v1/01_Classes/DatabaseController.cs b/02_Windows_App/Perun_v1/01_Classes/DatabaseController.cs index 9c24949..bafbd94 100644 --- a/02_Windows_App/Perun_v1/01_Classes/DatabaseController.cs +++ b/02_Windows_App/Perun_v1/01_Classes/DatabaseController.cs @@ -122,6 +122,9 @@ public class DatabaseController Globals.CurrentMission.Theatre = TCPFrame.payload.mission.theatre; // Mission theatre Globals.CurrentMission.Mission = TCPFrame.payload.mission.name; // Mission name Globals.CurrentMission.Pause = TCPFrame.payload.mission.pause; // Mission pause + + Globals.CurrentMission.ModelTime = TCPFrame.payload.mission.modeltime; // Mission time + Globals.CurrentMission.RealTime = TCPFrame.payload.mission.realtime; // Since start of server break; default: diff --git a/02_Windows_App/Perun_v1/01_Classes/Globals.cs b/02_Windows_App/Perun_v1/01_Classes/Globals.cs index 9770e5f..0f3afbe 100644 --- a/02_Windows_App/Perun_v1/01_Classes/Globals.cs +++ b/02_Windows_App/Perun_v1/01_Classes/Globals.cs @@ -11,6 +11,9 @@ class CurrentMissionClass public string Pause = ""; // Mission pause public int PlayerCount = 0; // Actual player time + public string ModelTime = ""; + public string RealTime = ""; + public string ToInfoString() { // Return mission information as string diff --git a/02_Windows_App/Perun_v1/01_Classes/PerunHelper.cs b/02_Windows_App/Perun_v1/01_Classes/PerunHelper.cs index 2ff3d30..3f28238 100644 --- a/02_Windows_App/Perun_v1/01_Classes/PerunHelper.cs +++ b/02_Windows_App/Perun_v1/01_Classes/PerunHelper.cs @@ -53,10 +53,10 @@ internal class PerunHelper } // Set marker for user flags (markers) - LogMarker = (intMarker>0) ? "X" : " "; + LogMarker = (intMarker > 0) ? "X" : " "; // Set frame type - strType=strType.PadLeft(3, ' '); + strType = strType.PadLeft(3, ' '); if (!bSkipGui) { @@ -73,7 +73,7 @@ internal class PerunHelper Globals.AppUpdateGUI = true; } // Add the entry to log file - LogController.instance.WriteLog(logLevel, DateTime.Now.ToString("yyyy-MM-dd ") + " " + DateTime.Now.ToString("HH:mm:ss") + " | Instance: "+ Globals.AppInstanceID + " | " + LogMarker + " | "+ LogDirection + " | "+ strType + " | " + strEntryToAdd); + LogController.instance.WriteLog(logLevel, DateTime.Now.ToString("yyyy-MM-dd ") + " " + DateTime.Now.ToString("HH:mm:ss") + " | Instance: " + Globals.AppInstanceID + " | " + LogMarker + " | " + LogDirection + " | " + strType + " | " + strEntryToAdd); } // Gets build version @@ -121,4 +121,9 @@ internal class PerunHelper return 1; #endif } + + public static string ConvertSecoundsToString (Double NumberOfSecounds){ + // TBD + return NumberOfSecounds.ToString(); + } } \ No newline at end of file diff --git a/02_Windows_App/Perun_v1/02_Forms/form_Main.Designer.cs b/02_Windows_App/Perun_v1/02_Forms/form_Main.Designer.cs index f38e067..d6cc4d3 100644 --- a/02_Windows_App/Perun_v1/02_Forms/form_Main.Designer.cs +++ b/02_Windows_App/Perun_v1/02_Forms/form_Main.Designer.cs @@ -73,7 +73,6 @@ this.TIM_Autostart = new System.Windows.Forms.Timer(this.components); this.con_check_minimize_to_tray = new System.Windows.Forms.CheckBox(); this.con_GroupBox_4 = new System.Windows.Forms.GroupBox(); - this.label16 = new System.Windows.Forms.Label(); this.con_Button_Reset_Flags = new System.Windows.Forms.Button(); this.label12 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); @@ -84,6 +83,17 @@ this.con_img_dcs = new System.Windows.Forms.PictureBox(); this.con_img_db = new System.Windows.Forms.PictureBox(); this.con_GroupBox_5 = new System.Windows.Forms.GroupBox(); + this.con_GroupBox_6 = new System.Windows.Forms.GroupBox(); + this.label26 = new System.Windows.Forms.Label(); + this.label25 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.label22 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.label17 = new System.Windows.Forms.Label(); this.con_GroupBox_1.SuspendLayout(); this.con_GroupBox_2.SuspendLayout(); this.con_GroupBox_3.SuspendLayout(); @@ -95,6 +105,7 @@ ((System.ComponentModel.ISupportInitialize)(this.con_img_dcs)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.con_img_db)).BeginInit(); this.con_GroupBox_5.SuspendLayout(); + this.con_GroupBox_6.SuspendLayout(); this.SuspendLayout(); // // con_List_Received @@ -103,14 +114,14 @@ this.con_List_Received.FormattingEnabled = true; this.con_List_Received.Items.AddRange(new object[] { "Not connected"}); - this.con_List_Received.Location = new System.Drawing.Point(8, 44); + this.con_List_Received.Location = new System.Drawing.Point(8, 57); this.con_List_Received.Name = "con_List_Received"; - this.con_List_Received.Size = new System.Drawing.Size(307, 121); + this.con_List_Received.Size = new System.Drawing.Size(307, 108); this.con_List_Received.TabIndex = 0; // // con_Button_Listen_ON // - this.con_Button_Listen_ON.Location = new System.Drawing.Point(344, 369); + this.con_Button_Listen_ON.Location = new System.Drawing.Point(344, 482); this.con_Button_Listen_ON.Name = "con_Button_Listen_ON"; this.con_Button_Listen_ON.Size = new System.Drawing.Size(86, 39); this.con_Button_Listen_ON.TabIndex = 2; @@ -121,7 +132,7 @@ // con_Button_Listen_OFF // this.con_Button_Listen_OFF.Enabled = false; - this.con_Button_Listen_OFF.Location = new System.Drawing.Point(436, 369); + this.con_Button_Listen_OFF.Location = new System.Drawing.Point(436, 482); this.con_Button_Listen_OFF.Name = "con_Button_Listen_OFF"; this.con_Button_Listen_OFF.Size = new System.Drawing.Size(86, 39); this.con_Button_Listen_OFF.TabIndex = 3; @@ -135,7 +146,7 @@ this.con_GroupBox_1.Controls.Add(this.con_com_loglevel); this.con_GroupBox_1.Controls.Add(this.con_List_Received); this.con_GroupBox_1.Controls.Add(this.con_Button_Add_Marker); - this.con_GroupBox_1.Location = new System.Drawing.Point(344, 177); + this.con_GroupBox_1.Location = new System.Drawing.Point(344, 290); this.con_GroupBox_1.Name = "con_GroupBox_1"; this.con_GroupBox_1.Size = new System.Drawing.Size(324, 179); this.con_GroupBox_1.TabIndex = 4; @@ -203,7 +214,7 @@ this.con_GroupBox_2.Size = new System.Drawing.Size(324, 154); this.con_GroupBox_2.TabIndex = 5; this.con_GroupBox_2.TabStop = false; - this.con_GroupBox_2.Text = "MySQL"; + this.con_GroupBox_2.Text = "Database settings"; // // label6 // @@ -297,7 +308,7 @@ this.con_GroupBox_3.Size = new System.Drawing.Size(324, 68); this.con_GroupBox_3.TabIndex = 6; this.con_GroupBox_3.TabStop = false; - this.con_GroupBox_3.Text = "3rd party"; + this.con_GroupBox_3.Text = "Integration settings"; // // con_txt_3rd_lotatc // @@ -337,7 +348,7 @@ // // con_Button_Quit // - this.con_Button_Quit.Location = new System.Drawing.Point(582, 369); + this.con_Button_Quit.Location = new System.Drawing.Point(582, 482); this.con_Button_Quit.Name = "con_Button_Quit"; this.con_Button_Quit.Size = new System.Drawing.Size(86, 39); this.con_Button_Quit.TabIndex = 7; @@ -405,7 +416,7 @@ this.groupBox1.Size = new System.Drawing.Size(324, 68); this.groupBox1.TabIndex = 7; this.groupBox1.TabStop = false; - this.groupBox1.Text = "DCS Connection"; + this.groupBox1.Text = "DCS World settings"; // // label8 // @@ -491,7 +502,6 @@ // // con_GroupBox_4 // - this.con_GroupBox_4.Controls.Add(this.label16); this.con_GroupBox_4.Controls.Add(this.con_Button_Reset_Flags); this.con_GroupBox_4.Controls.Add(this.label12); this.con_GroupBox_4.Controls.Add(this.label11); @@ -503,21 +513,10 @@ this.con_GroupBox_4.Controls.Add(this.con_img_db); this.con_GroupBox_4.Location = new System.Drawing.Point(344, 54); this.con_GroupBox_4.Name = "con_GroupBox_4"; - this.con_GroupBox_4.Size = new System.Drawing.Size(324, 117); + this.con_GroupBox_4.Size = new System.Drawing.Size(324, 87); this.con_GroupBox_4.TabIndex = 25; this.con_GroupBox_4.TabStop = false; - this.con_GroupBox_4.Text = "Status"; - // - // label16 - // - this.label16.AutoSize = true; - this.label16.Location = new System.Drawing.Point(6, 88); - this.label16.Name = "label16"; - this.label16.Size = new System.Drawing.Size(76, 13); - this.label16.TabIndex = 27; - this.label16.Text = "[mission name]"; - this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.label16.Click += new System.EventHandler(this.label16_Click); + this.con_GroupBox_4.Text = "Perun status"; // // con_Button_Reset_Flags // @@ -619,13 +618,132 @@ this.con_GroupBox_5.Size = new System.Drawing.Size(323, 46); this.con_GroupBox_5.TabIndex = 26; this.con_GroupBox_5.TabStop = false; - this.con_GroupBox_5.Text = "Others"; + this.con_GroupBox_5.Text = "Other settings"; + // + // con_GroupBox_6 + // + this.con_GroupBox_6.Controls.Add(this.label26); + this.con_GroupBox_6.Controls.Add(this.label25); + this.con_GroupBox_6.Controls.Add(this.label24); + this.con_GroupBox_6.Controls.Add(this.label23); + this.con_GroupBox_6.Controls.Add(this.label22); + this.con_GroupBox_6.Controls.Add(this.label21); + this.con_GroupBox_6.Controls.Add(this.label16); + this.con_GroupBox_6.Controls.Add(this.label19); + this.con_GroupBox_6.Controls.Add(this.label18); + this.con_GroupBox_6.Controls.Add(this.label17); + this.con_GroupBox_6.Location = new System.Drawing.Point(345, 147); + this.con_GroupBox_6.Name = "con_GroupBox_6"; + this.con_GroupBox_6.Size = new System.Drawing.Size(323, 76); + this.con_GroupBox_6.TabIndex = 28; + this.con_GroupBox_6.TabStop = false; + this.con_GroupBox_6.Text = "DCS World status"; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(240, 53); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(77, 13); + this.label26.TabIndex = 33; + this.label26.Text = "player(s) online"; + this.label26.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(6, 55); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(79, 13); + this.label25.TabIndex = 32; + this.label25.Text = "Mission uptime:"; + this.label25.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(10, 42); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(75, 13); + this.label24.TabIndex = 31; + this.label24.Text = "Server uptime:"; + this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(54, 30); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(31, 13); + this.label23.TabIndex = 30; + this.label23.Text = "Map:"; + this.label23.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(40, 17); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(45, 13); + this.label22.TabIndex = 29; + this.label22.Text = "Mission:"; + this.label22.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(82, 55); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(69, 13); + this.label21.TabIndex = 28; + this.label21.Text = "[mission time]"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(82, 42); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(64, 13); + this.label16.TabIndex = 27; + this.label16.Text = "[server time]"; + this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Font = new System.Drawing.Font("Microsoft Sans Serif", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238))); + this.label19.Location = new System.Drawing.Point(267, 31); + this.label19.Name = "label19"; + this.label19.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label19.Size = new System.Drawing.Size(50, 24); + this.label19.TabIndex = 2; + this.label19.Text = "[000]"; + this.label19.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(82, 29); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(70, 13); + this.label18.TabIndex = 1; + this.label18.Text = "[mission map]"; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(82, 16); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(76, 13); + this.label17.TabIndex = 0; + this.label17.Text = "[mission name]"; // // form_Main // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(675, 414); + this.ClientSize = new System.Drawing.Size(675, 533); + this.Controls.Add(this.con_GroupBox_6); this.Controls.Add(this.con_GroupBox_5); this.Controls.Add(this.con_GroupBox_4); this.Controls.Add(this.label14); @@ -666,6 +784,8 @@ ((System.ComponentModel.ISupportInitialize)(this.con_img_db)).EndInit(); this.con_GroupBox_5.ResumeLayout(false); this.con_GroupBox_5.PerformLayout(); + this.con_GroupBox_6.ResumeLayout(false); + this.con_GroupBox_6.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -726,7 +846,17 @@ private System.Windows.Forms.PictureBox con_img_dcs; private System.Windows.Forms.PictureBox con_img_db; private System.Windows.Forms.GroupBox con_GroupBox_5; + private System.Windows.Forms.GroupBox con_GroupBox_6; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.Label label21; private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.Label label17; } } diff --git a/02_Windows_App/Perun_v1/02_Forms/form_Main.cs b/02_Windows_App/Perun_v1/02_Forms/form_Main.cs index e70d5df..759434c 100644 --- a/02_Windows_App/Perun_v1/02_Forms/form_Main.cs +++ b/02_Windows_App/Perun_v1/02_Forms/form_Main.cs @@ -209,7 +209,13 @@ namespace Perun_v1 private void form_Main_SetControlsInit() { // Init values for the controls - label16.Text = ""; + + // Mission information + label16.Text = "[unknown]"; + label17.Text = "[unknown]"; + label18.Text = "[unknown]"; + label19.Text = "?"; + label21.Text = "[unknown]"; } // ################################ User input ################################ private void con_Button_Listen_ON_Click(object sender, EventArgs e) @@ -453,7 +459,25 @@ namespace Perun_v1 } // Update mission status - label16.Text = Globals.CurrentMission.ToInfoString(); + if (Globals.CurrentMission.Mission != "") + { + + label17.Text = Globals.CurrentMission.Mission; + label18.Text = Globals.CurrentMission.Theatre; + label19.Text = Globals.CurrentMission.PlayerCount.ToString(); + + label21.Text = Globals.CurrentMission.ModelTime; + label16.Text = Globals.CurrentMission.RealTime; + + if (Globals.CurrentMission.Pause == "True") + { + label21.Text = label21.Text + " (paused)"; + } + } + else + { + this.form_Main_SetControlsInit(); + } // Update status icons at main form - MySQL if ((DatabaseConnection.DatabaseStatus != Globals.StatusDatabase) || Globals.AppForceIconReload) diff --git a/02_Windows_App/Perun_v1/Perun_v1.csproj b/02_Windows_App/Perun_v1/Perun_v1.csproj index 420cb0f..8f6a9cb 100644 --- a/02_Windows_App/Perun_v1/Perun_v1.csproj +++ b/02_Windows_App/Perun_v1/Perun_v1.csproj @@ -174,6 +174,7 @@ + SettingsSingleFileGenerator Settings.Designer.cs diff --git a/02_Windows_App/Perun_v1/Properties/DataSources/Globals.datasource b/02_Windows_App/Perun_v1/Properties/DataSources/Globals.datasource new file mode 100644 index 0000000..9e2a905 --- /dev/null +++ b/02_Windows_App/Perun_v1/Properties/DataSources/Globals.datasource @@ -0,0 +1,10 @@ + + + + Globals, Perun, Version=0.12.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file