1.4.3 #38
| @ -31,7 +31,7 @@ namespace OWTrack | ||||
|         private const string IS_RUNNING = "Running"; | ||||
|         private const string NOT_RUNNING = " Not running"; | ||||
|         private bool SRonce = false; | ||||
| 		int dummy = 0; | ||||
|         private string Version = Program.Version.ToString(); | ||||
| 
 | ||||
|         public MainForm() | ||||
|         {            | ||||
| @ -40,8 +40,8 @@ namespace OWTrack | ||||
|             loadSave(); | ||||
|             checkStatus(); | ||||
|             update(); | ||||
|             label4.Text = Program.Version.ToString(); | ||||
|             Text = "OWTrack " + Program.Version.ToString(); | ||||
|             label4.Text = Version; | ||||
|             Text = "OWTrack " + Version;              | ||||
|         } | ||||
| 
 | ||||
|         private void checkStatus() | ||||
| @ -56,7 +56,7 @@ namespace OWTrack | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     if (tr.TrackOW) | ||||
|                     if (tr.settings.TrackOW) | ||||
|                     { | ||||
|                         status.Text = NOT_RUNNING; | ||||
|                         status.ForeColor = Color.Black; | ||||
| @ -71,6 +71,7 @@ namespace OWTrack | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         //Move to saveManeger.cs ?         | ||||
|         private void loadSave() | ||||
|         { | ||||
|             try | ||||
| @ -85,23 +86,24 @@ namespace OWTrack | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     using (StreamReader st = new StreamReader(Paths.GetSaves())) | ||||
|                     { | ||||
|                         string line = st.ReadLine(); | ||||
|                         if (line.Contains("Overwatch.exe")) | ||||
|                     try | ||||
|                     { | ||||
|                         tr = saveManeger.GetSavedTracker(); | ||||
|                             if (tr.startSR > 0) SRonce = true;                     | ||||
|                     } | ||||
|                         else | ||||
|                     catch (Exception) | ||||
|                     { | ||||
|                         MessageBox.Show("Could not load Save.\n" + | ||||
|                                         "Starting new save."); | ||||
|                         tr = new Tracker(); | ||||
|                     } | ||||
|                     if (tr.startSR > 0) SRonce = true; | ||||
|                     if (tr.settings.GamePath == "" || tr.settings.GamePath == null) | ||||
|                     { | ||||
|                         if (!tr.LoacteOW()) | ||||
|                         { | ||||
|                                 tr.gamePath = getGamePath(); | ||||
|                             tr.settings.GamePath = askForGamePath(); | ||||
|                         } | ||||
|                     } | ||||
|                         st.Close(); | ||||
|                     } | ||||
|                 } | ||||
|                 catch (Exception e) | ||||
|                 { | ||||
| @ -110,14 +112,14 @@ namespace OWTrack | ||||
|             } | ||||
|             else if (!tr.LoacteOW()) | ||||
|             { | ||||
|                 tr.gamePath = getGamePath(); | ||||
|                 tr.settings.GamePath = askForGamePath(); | ||||
|             } | ||||
|             ExeTrackCheckBx.Checked = tr.TrackOW; | ||||
|             SRCheckBx.Checked = tr.TrackSR; | ||||
|             update(); | ||||
|             ExeTrackCheckBx.Checked = tr.settings.TrackOW; | ||||
|             SRCheckBx.Checked = tr.settings.TrackSR; | ||||
|             tr.StartNewSeission(); | ||||
|         } | ||||
| 
 | ||||
|         private string getGamePath() | ||||
|         private string askForGamePath() | ||||
|         { | ||||
|             openFileDialog1.Title = "Select Overwatch.exe"; | ||||
|             openFileDialog1.DefaultExt = "exe"; | ||||
| @ -135,13 +137,10 @@ namespace OWTrack | ||||
|         { | ||||
|             srBut.Enabled = state; | ||||
|             srTextBox.Enabled = state; | ||||
|             tr.TrackSR = state; | ||||
|             tr.settings.TrackSR = state; | ||||
|         } | ||||
| 
 | ||||
|         private void OWTrackFunc(bool state) | ||||
|         { | ||||
|             tr.TrackOW = state; | ||||
|         } | ||||
|         private void OWTrackFunc(bool state) => tr.settings.TrackOW = state; | ||||
| 
 | ||||
|         private void update() | ||||
|         { | ||||
| @ -157,6 +156,18 @@ namespace OWTrack | ||||
|             saveManeger.SaveJSON(tr); | ||||
|         } | ||||
| 
 | ||||
|         private void AddMatch() | ||||
|         { | ||||
|             Match match = new Match | ||||
|             { | ||||
|                 StartSR = tr.startSR, | ||||
|                 newSR = tr.newSR, | ||||
|                 ChangeInSR = tr.srDiff(), | ||||
|                 dateTime = DateTime.Now.Date | ||||
|             }; | ||||
|             tr.GetCurrentSession().AddMatch(match); | ||||
|         } | ||||
| 
 | ||||
|         #region Events | ||||
|         private void timer1_Tick(object sender, EventArgs e) => checkStatus(); | ||||
| 
 | ||||
| @ -222,6 +233,7 @@ namespace OWTrack | ||||
|                 } | ||||
|                 else tr.newSR = sr; | ||||
|             } | ||||
|             AddMatch(); | ||||
|             update(); | ||||
|         } | ||||
| 
 | ||||
| @ -239,7 +251,7 @@ namespace OWTrack | ||||
| 
 | ||||
|         private void ChngOWPathBtn_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             tr.gamePath = getGamePath(); | ||||
|             tr.settings.GamePath = askForGamePath(); | ||||
|             update(); | ||||
|         } | ||||
| 
 | ||||
|  | ||||
| @ -113,12 +113,6 @@ | ||||
|       <DependentUpon>MainForm.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="saveManeger.cs" /> | ||||
|     <Compile Include="Splash.cs"> | ||||
|       <SubType>Form</SubType> | ||||
|     </Compile> | ||||
|     <Compile Include="Splash.Designer.cs"> | ||||
|       <DependentUpon>Splash.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="Tracker.cs" /> | ||||
|     <Compile Include="Program.cs" /> | ||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> | ||||
| @ -134,9 +128,6 @@ | ||||
|       <AutoGen>True</AutoGen> | ||||
|       <DependentUpon>Resources.resx</DependentUpon> | ||||
|     </Compile> | ||||
|     <EmbeddedResource Include="Splash.resx"> | ||||
|       <DependentUpon>Splash.cs</DependentUpon> | ||||
|     </EmbeddedResource> | ||||
|     <None Include="app.manifest" /> | ||||
|     <None Include="OWTrack_TemporaryKey.pfx" /> | ||||
|     <None Include="packages.config" /> | ||||
|  | ||||
							
								
								
									
										98
									
								
								OWTrack/Splash.Designer.cs
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										98
									
								
								OWTrack/Splash.Designer.cs
									
									
									
										generated
									
									
									
								
							| @ -1,98 +0,0 @@ | ||||
| namespace OWTrack | ||||
| { | ||||
|     partial class Splash | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// Required designer variable. | ||||
|         /// </summary> | ||||
|         private System.ComponentModel.IContainer components = null; | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Clean up any resources being used. | ||||
|         /// </summary> | ||||
|         /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> | ||||
|         protected override void Dispose(bool disposing) | ||||
|         { | ||||
|             if (disposing && (components != null)) | ||||
|             { | ||||
|                 components.Dispose(); | ||||
|             } | ||||
|             base.Dispose(disposing); | ||||
|         } | ||||
| 
 | ||||
|         #region Windows Form Designer generated code | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Required method for Designer support - do not modify | ||||
|         /// the contents of this method with the code editor. | ||||
|         /// </summary> | ||||
|         private void InitializeComponent() | ||||
|         { | ||||
|             this.pageSetupDialog1 = new System.Windows.Forms.PageSetupDialog(); | ||||
|             this.progressBar1 = new System.Windows.Forms.ProgressBar(); | ||||
|             this.splashLabel = new System.Windows.Forms.Label(); | ||||
|             this.versionLabel = new System.Windows.Forms.Label(); | ||||
|             this.label1 = new System.Windows.Forms.Label(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // progressBar1 | ||||
|             //  | ||||
|             this.progressBar1.Location = new System.Drawing.Point(95, 57); | ||||
|             this.progressBar1.Name = "progressBar1"; | ||||
|             this.progressBar1.Size = new System.Drawing.Size(196, 12); | ||||
|             this.progressBar1.TabIndex = 0; | ||||
|             //  | ||||
|             // splashLabel | ||||
|             //  | ||||
|             this.splashLabel.AutoSize = true; | ||||
|             this.splashLabel.Location = new System.Drawing.Point(171, 31); | ||||
|             this.splashLabel.Name = "splashLabel"; | ||||
|             this.splashLabel.Size = new System.Drawing.Size(0, 13); | ||||
|             this.splashLabel.TabIndex = 1; | ||||
|             this.splashLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; | ||||
|             //  | ||||
|             // versionLabel | ||||
|             //  | ||||
|             this.versionLabel.AutoSize = true; | ||||
|             this.versionLabel.Location = new System.Drawing.Point(13, 91); | ||||
|             this.versionLabel.Name = "versionLabel"; | ||||
|             this.versionLabel.Size = new System.Drawing.Size(0, 13); | ||||
|             this.versionLabel.TabIndex = 2; | ||||
|             //  | ||||
|             // label1 | ||||
|             //  | ||||
|             this.label1.AutoSize = true; | ||||
|             this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); | ||||
|             this.label1.ForeColor = System.Drawing.Color.Gray; | ||||
|             this.label1.Location = new System.Drawing.Point(13, 13); | ||||
|             this.label1.Name = "label1"; | ||||
|             this.label1.Size = new System.Drawing.Size(89, 24); | ||||
|             this.label1.TabIndex = 3; | ||||
|             this.label1.Text = "OWtrack"; | ||||
|             //  | ||||
|             // Splash | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(402, 116); | ||||
|             this.Controls.Add(this.label1); | ||||
|             this.Controls.Add(this.versionLabel); | ||||
|             this.Controls.Add(this.splashLabel); | ||||
|             this.Controls.Add(this.progressBar1); | ||||
|             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; | ||||
|             this.Name = "Splash"; | ||||
|             this.Text = "Splash"; | ||||
|             this.ResumeLayout(false); | ||||
|             this.PerformLayout(); | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         #endregion | ||||
| 
 | ||||
|         private System.Windows.Forms.PageSetupDialog pageSetupDialog1; | ||||
|         private System.Windows.Forms.ProgressBar progressBar1; | ||||
|         private System.Windows.Forms.Label splashLabel; | ||||
|         private System.Windows.Forms.Label versionLabel; | ||||
|         private System.Windows.Forms.Label label1; | ||||
|     } | ||||
| } | ||||
| @ -1,20 +0,0 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
| using System.Windows.Forms; | ||||
| 
 | ||||
| namespace OWTrack | ||||
| { | ||||
|     public partial class Splash : Form | ||||
|     { | ||||
|         public Splash() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -1,123 +0,0 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
| 
 | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <metadata name="pageSetupDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
| </root> | ||||
| @ -30,37 +30,63 @@ namespace OWTrack | ||||
|     class Tracker | ||||
|     { | ||||
|         public int wins, losses, startSR, newSR, totalMatches = 0; | ||||
|         public string gamePath;        | ||||
|         public void Track() { }//Deserailize here | ||||
|         public void reset() { wins = 0; losses = 0; startSR = 0; newSR = 0; gamePath = null; } | ||||
|          | ||||
|         public void addWin() => wins++; | ||||
|         public void addLoss() => losses++; | ||||
|         public void reduceWin() => wins--; | ||||
|         public void rediceLoss() => losses--; | ||||
|         public int GetWins() { return wins; } | ||||
|         public int GetLosses() { return losses; } | ||||
|         public int GetTotalMatches() { return wins + losses; } | ||||
|         public void setNewSR(int SR) { newSR = SR; } | ||||
|         public int srDiff() { return newSR - startSR; } | ||||
|         public bool TrackOW = true; | ||||
|         public bool TrackSR = true; | ||||
| 
 | ||||
|         struct ProgramFiles | ||||
|         public Settings settings = new Settings(); | ||||
|         public List<Session> sessions = new List<Session>(); | ||||
|         public int GetTotalMatches() | ||||
|         { | ||||
|             public static readonly string C = "C:\\Program Files"; | ||||
|             public static readonly string D = "D:\\Program Files"; | ||||
|             public static readonly string E = "E:\\Program Files"; | ||||
|             public static readonly string F = "F:\\Program Files"; | ||||
|             int number = 0; | ||||
|             foreach (var session in sessions) | ||||
|             { | ||||
|                 number += session.TotalMatches; | ||||
|             } | ||||
|             return number; | ||||
|         } | ||||
| 
 | ||||
|         public int GetCurrentSessionMatches() | ||||
|         { | ||||
|             return sessions.Last().TotalMatches; | ||||
|         } | ||||
| 
 | ||||
|         public void reset() | ||||
|         { | ||||
|             wins = 0; | ||||
|             losses = 0; | ||||
|             startSR = 0; | ||||
|             newSR = 0; | ||||
|             settings.Reset(); | ||||
|             sessions.Clear(); | ||||
|             StartNewSeission(); | ||||
|         } | ||||
|                | ||||
|         public void StartNewSeission() | ||||
|         { | ||||
|             Session ses = new Session(startSR); | ||||
|             sessions.Add(ses); | ||||
|             //Re do SR input!!  | ||||
|         } | ||||
| 
 | ||||
|         public Session GetCurrentSession() | ||||
|         { | ||||
|             return sessions.Last(); | ||||
|         } | ||||
| 
 | ||||
|         public bool owRunning() | ||||
|         { | ||||
|             if (TrackOW) | ||||
|             if (settings.TrackOW) | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     bool isRunning = Process.GetProcessesByName("Overwatch") | ||||
|                                     .FirstOrDefault(p => p.MainModule.FileName.StartsWith(gamePath)) != default(Process); | ||||
|                                     .FirstOrDefault(p => p.MainModule.FileName.StartsWith(settings.GamePath)) != default(Process); | ||||
|                     return isRunning; | ||||
|                 } | ||||
|                 catch (Exception) | ||||
| @ -79,12 +105,12 @@ namespace OWTrack | ||||
|                 DriveInfo[] driveInfo = DriveInfo.GetDrives(); | ||||
|                 List<string> paths = new List<string>(); | ||||
|                 //Searches all drives (too long) | ||||
|                 foreach (var drive in driveInfo) | ||||
|                 { | ||||
|                 //foreach (var drive in driveInfo) | ||||
|                 //{ | ||||
|                 //paths.AddRange(GetFiles(drive.ToString(),"Overwatch.exe")); | ||||
|                 } | ||||
|                 paths.AddRange(GetFiles(ProgramFiles.C, "Overwatch.exe")); | ||||
|                 paths.AddRange(GetFiles(ProgramFiles.D, "Overwatch.exe")); | ||||
|                 //} | ||||
|                 paths.AddRange(GetFiles(Paths.ProgramFiles.C, "Overwatch.exe")); | ||||
|                 paths.AddRange(GetFiles(Paths.ProgramFiles.D, "Overwatch.exe")); | ||||
| 
 | ||||
|                 if (paths.Count > 1) | ||||
|                 { | ||||
| @ -93,9 +119,10 @@ namespace OWTrack | ||||
|                     return true; | ||||
|                 } | ||||
| 
 | ||||
|                 else if (paths.Count == 1) | ||||
|                 else if (paths.Count == 1 | ||||
|                 && paths[0].Contains("Overwatch.exe")) | ||||
|                 { | ||||
|                     gamePath = paths[0]; | ||||
|                     settings.GamePath = paths[0]; | ||||
|                     return true; | ||||
|                 } | ||||
|                 else return false; | ||||
| @ -132,10 +159,64 @@ namespace OWTrack | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
|     struct Settings | ||||
|     class Settings | ||||
|     { | ||||
|         bool TrackSR, TrackOW; | ||||
|         string OWpath; | ||||
|         public bool TrackSR, TrackOW = true; | ||||
|         public string GamePath = ""; | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Reset All values to defult   | ||||
|         /// </summary> | ||||
|         public void Reset() | ||||
|         { | ||||
|             TrackOW = true; | ||||
|             TrackSR = true; | ||||
|             GamePath = ""; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     class Session | ||||
|     { | ||||
|         public int TotalMatches; | ||||
|         public int SkillChange; | ||||
|         public int StartSR; | ||||
|         public DateTime date; | ||||
|         public List<Match> Matches = new List<Match>();        | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Start a new session with a starting Skill Rating | ||||
|         ///</summary> | ||||
|         public Session(int StartSR) | ||||
|         { | ||||
|             this.StartSR = StartSR; | ||||
|             date = DateTime.Now.Date; | ||||
|             TotalMatches = 0; | ||||
|         } | ||||
| 
 | ||||
|         public bool IsNewSession() | ||||
|         { | ||||
|             if (Matches.Count == 0) return true; | ||||
|             else return false; | ||||
|         } | ||||
| 
 | ||||
|         public Match GetLastMatch() | ||||
|         { | ||||
|             return Matches.Last(); | ||||
|         } | ||||
| 
 | ||||
|         public void AddMatch(Match match) | ||||
|         { | ||||
|             this.Matches.Add(match); | ||||
|             this.TotalMatches = Matches.Count(); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     class Match | ||||
|     { | ||||
|         public Match() { } | ||||
|         public DateTime dateTime { get; set; } | ||||
|         public int StartSR; | ||||
|         public int newSR; | ||||
|         public int ChangeInSR; | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -32,6 +32,15 @@ namespace OWTrack | ||||
|         public static string GetJSON() { return JSON; } | ||||
|         public static string GetSaves() { return SAVES; } | ||||
|         public static string GetCurrentDir() { return curDir; } | ||||
| 
 | ||||
|         public static class ProgramFiles | ||||
|         { | ||||
|             public static readonly string C = "C:\\Program Files"; | ||||
|             public static readonly string D = "D:\\Program Files"; | ||||
|             public static readonly string E = "E:\\Program Files"; | ||||
|             public static readonly string F = "F:\\Program Files"; | ||||
|         } | ||||
| 
 | ||||
|     } | ||||
| 
 | ||||
|     class saveManeger | ||||
| @ -46,12 +55,18 @@ namespace OWTrack | ||||
|             { | ||||
|                 return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(Paths.GetSaves())); | ||||
|             } | ||||
|             catch (Exception e) | ||||
|             catch (Exception) | ||||
|             { | ||||
|                 throw e; | ||||
|                 Exception ex = new Exception("json"); | ||||
|                 throw ex; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Deserialize saved tracker instance from a Custom path | ||||
|         /// </summary> | ||||
|         /// <param name="customPath"></param> | ||||
|         /// <returns></returns> | ||||
|         public static Tracker GetSavedTracker(string customPath) | ||||
|         { | ||||
|             try | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| # OWtrack  [] (https://heshamgit.ddns.net/Hesham/OWtrack/releases) [](https://opensource.org/licenses/MIT) | ||||
| # OWtrack  [] (https://heshamgit.ddns.net/Hesham/OWtrack/releases) [](https://opensource.org/licenses/MIT) | ||||
| 
 | ||||
|  Track your Overwatch preformance with a shi#ty UI | ||||
|   | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user