WIP: Major update #45
| @ -34,14 +34,14 @@ namespace OWTrack | |||||||
|         private string Version = Program.Version.ToString(); |         private string Version = Program.Version.ToString(); | ||||||
| 
 | 
 | ||||||
|         public MainForm() |         public MainForm() | ||||||
|         {            |         { | ||||||
|             InitializeComponent(); |             InitializeComponent(); | ||||||
|             tr = new Tracker();                        |             tr = new Tracker(); | ||||||
|             loadSave(); |             loadSave(); | ||||||
|             checkStatus(); |             checkStatus(); | ||||||
|             update(); |             update(); | ||||||
|             label4.Text = Version; |             label4.Text = Version; | ||||||
|             Text = "OWTrack " + Version;              |             Text = "OWTrack " + Version; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void checkStatus() |         private void checkStatus() | ||||||
| @ -71,7 +71,6 @@ namespace OWTrack | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         //Move to saveManeger.cs ?         |  | ||||||
|         private void loadSave() |         private void loadSave() | ||||||
|         { |         { | ||||||
|             try |             try | ||||||
| @ -92,7 +91,7 @@ namespace OWTrack | |||||||
|                     } |                     } | ||||||
|                     catch (Exception) |                     catch (Exception) | ||||||
|                     { |                     { | ||||||
|                         MessageBox.Show("Could not load Save.\n" + |                         MessageBox.Show("Could not load Save!\n" + | ||||||
|                                         "Starting new save."); |                                         "Starting new save."); | ||||||
|                         tr = new Tracker(); |                         tr = new Tracker(); | ||||||
|                     } |                     } | ||||||
| @ -144,16 +143,24 @@ namespace OWTrack | |||||||
| 
 | 
 | ||||||
|         private void update() |         private void update() | ||||||
|         { |         { | ||||||
|             Wins.Text = tr.GetWins().ToString(); |             try | ||||||
|             Losses.Text = tr.GetLosses().ToString(); |  | ||||||
|             if (tr.newSR == 0) |  | ||||||
|             { |             { | ||||||
|                 if (tr.srDiff() < 1) { srLabel.Text = tr.startSR.ToString() + " - 0"; } |                 Wins.Text = tr.GetWins().ToString(); | ||||||
|  |                 Losses.Text = tr.GetLosses().ToString(); | ||||||
|  |                 if (tr.newSR == 0) | ||||||
|  |                 { | ||||||
|  |                     if (tr.srDiff() < 1) { srLabel.Text = tr.startSR.ToString() + " - 0"; } | ||||||
|  |                     else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff(); | ||||||
|  |                 } | ||||||
|                 else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff(); |                 else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff(); | ||||||
|  |                 srTextBox.Text = null; | ||||||
|  |                 saveManeger.SaveJSON(tr); | ||||||
|             } |             } | ||||||
|             else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff(); |             catch (Exception e) | ||||||
|             srTextBox.Text = null; |             { | ||||||
|             saveManeger.SaveJSON(tr); |                 MessageBox.Show(e.Message); | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void AddMatch() |         private void AddMatch() | ||||||
| @ -163,7 +170,9 @@ namespace OWTrack | |||||||
|                 StartSR = tr.startSR, |                 StartSR = tr.startSR, | ||||||
|                 newSR = tr.newSR, |                 newSR = tr.newSR, | ||||||
|                 ChangeInSR = tr.srDiff(), |                 ChangeInSR = tr.srDiff(), | ||||||
|                 dateTime = DateTime.Now.Date |                 dateTime = DateTime.Now.Date, | ||||||
|  |                 DateTimeSting = DateTime.Now.ToString("hh:mm tt"), | ||||||
|  |                 LastMatchSR = tr.GetCurrentSession().GetLastMatch().newSR,                | ||||||
|             }; |             }; | ||||||
|             tr.GetCurrentSession().AddMatch(match); |             tr.GetCurrentSession().AddMatch(match); | ||||||
|         } |         } | ||||||
| @ -226,12 +235,6 @@ namespace OWTrack | |||||||
|             } |             } | ||||||
|             finally |             finally | ||||||
|             { |             { | ||||||
|                 //if (!SRonce) |  | ||||||
|                 //{ |  | ||||||
|                 //    tr.startSR = sr; |  | ||||||
|                 //    SRonce = true; |  | ||||||
|                 //} |  | ||||||
|                 //else tr.newSR = sr; |  | ||||||
|                 if (tr.GetCurrentSession().IsNewSession()) |                 if (tr.GetCurrentSession().IsNewSession()) | ||||||
|                     tr.startSR = sr; |                     tr.startSR = sr; | ||||||
|                 else |                 else | ||||||
|  | |||||||
| @ -113,6 +113,7 @@ | |||||||
|       <DependentUpon>MainForm.cs</DependentUpon> |       <DependentUpon>MainForm.cs</DependentUpon> | ||||||
|     </Compile> |     </Compile> | ||||||
|     <Compile Include="saveManeger.cs" /> |     <Compile Include="saveManeger.cs" /> | ||||||
|  |     <Compile Include="Settings.cs" /> | ||||||
|     <Compile Include="Tracker.cs" /> |     <Compile Include="Tracker.cs" /> | ||||||
|     <Compile Include="Program.cs" /> |     <Compile Include="Program.cs" /> | ||||||
|     <Compile Include="Properties\AssemblyInfo.cs" /> |     <Compile Include="Properties\AssemblyInfo.cs" /> | ||||||
|  | |||||||
							
								
								
									
										43
									
								
								OWTrack/Settings.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								OWTrack/Settings.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | |||||||
|  | /*Copyright(c) 2018 Hesham Systems LLC. | ||||||
|  | 
 | ||||||
|  | Permission is hereby granted, free of charge, to any person obtaining a copy | ||||||
|  | of this software and associated documentation files (the "Software"), to deal | ||||||
|  | in the Software without restriction, including without limitation the rights | ||||||
|  | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||||
|  | copies of the Software, and to permit persons to whom the Software is | ||||||
|  | furnished to do so, subject to the following conditions: | ||||||
|  | 
 | ||||||
|  | The above copyright notice and this permission notice shall be included in all | ||||||
|  | copies or substantial portions of the Software. | ||||||
|  | 
 | ||||||
|  | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||||
|  | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||||
|  | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||||
|  | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||||
|  | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||||
|  | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||||
|  | SOFTWARE.*/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | namespace OWTrack | ||||||
|  | { | ||||||
|  |     class Settings | ||||||
|  |     { | ||||||
|  |         public bool TrackSR, TrackOW = true; | ||||||
|  |         public string GamePath = ""; | ||||||
|  | 
 | ||||||
|  |         public Settings() | ||||||
|  |         { | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Reset All values to defult   | ||||||
|  |         /// </summary> | ||||||
|  |         public void Reset() | ||||||
|  |         { | ||||||
|  |             TrackOW = true; | ||||||
|  |             TrackSR = true; | ||||||
|  |             GamePath = ""; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										32
									
								
								OWTrack/Statistics.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								OWTrack/Statistics.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,32 @@ | |||||||
|  | using System; | ||||||
|  | using System.IO; | ||||||
|  | using Newtonsoft.Json; | ||||||
|  | using System.Collections.Generic; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | namespace OWTrack | ||||||
|  | { | ||||||
|  |     public class Statistics | ||||||
|  |     { | ||||||
|  |         private Tracker tr; | ||||||
|  |         public Statistics(Tracker tr) | ||||||
|  |         { | ||||||
|  |             this.tr = tr; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         public int GetTotalSkillChange() | ||||||
|  |         { | ||||||
|  |             int change = 0; | ||||||
|  |             foreach (var Session in tr.sessions) | ||||||
|  |             { | ||||||
|  |                 if (Session.Matches.Count != 0) | ||||||
|  |                 { | ||||||
|  |                     foreach (var match in Session.Matches) | ||||||
|  |                     { | ||||||
|  |                          | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -22,7 +22,6 @@ using System; | |||||||
| using System.Diagnostics; | using System.Diagnostics; | ||||||
| using System.Linq; | using System.Linq; | ||||||
| using System.IO; | using System.IO; | ||||||
| using System.Windows.Forms; |  | ||||||
| using System.Collections.Generic; | using System.Collections.Generic; | ||||||
| 
 | 
 | ||||||
| namespace OWTrack | namespace OWTrack | ||||||
| @ -30,7 +29,7 @@ namespace OWTrack | |||||||
|     class Tracker |     class Tracker | ||||||
|     { |     { | ||||||
|         public int wins, losses, startSR, newSR, totalMatches = 0; |         public int wins, losses, startSR, newSR, totalMatches = 0; | ||||||
|          | 
 | ||||||
|         public void addWin() => wins++; |         public void addWin() => wins++; | ||||||
|         public void addLoss() => losses++; |         public void addLoss() => losses++; | ||||||
|         public void reduceWin() => wins--; |         public void reduceWin() => wins--; | ||||||
| @ -66,7 +65,7 @@ namespace OWTrack | |||||||
|             sessions.Clear(); |             sessions.Clear(); | ||||||
|             StartNewSeission(); |             StartNewSeission(); | ||||||
|         } |         } | ||||||
|                | 
 | ||||||
|         public void StartNewSeission() |         public void StartNewSeission() | ||||||
|         { |         { | ||||||
|             Session ses = new Session(startSR); |             Session ses = new Session(startSR); | ||||||
| @ -128,8 +127,7 @@ namespace OWTrack | |||||||
|             } |             } | ||||||
|             catch (Exception e) |             catch (Exception e) | ||||||
|             { |             { | ||||||
|                 MessageBox.Show(e.Message); |                 throw e; | ||||||
|                 return false; |  | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| @ -158,32 +156,17 @@ namespace OWTrack | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     class Settings |  | ||||||
|     { |  | ||||||
|         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 |     class Session | ||||||
|     { |     { | ||||||
|  |         public int wins, losses = 0; | ||||||
|         public int TotalMatches; |         public int TotalMatches; | ||||||
|         public int SkillChange; |         public int SkillChange; | ||||||
|         public int StartSR; |         public int StartSR; | ||||||
|         public DateTime date; |         public DateTime date; | ||||||
|         public List<Match> Matches = new List<Match>();        |         public List<Match> Matches = new List<Match>(); | ||||||
| 
 | 
 | ||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Start a new session with a starting Skill Rating |         /// Start a new session | ||||||
|         ///</summary> |         ///</summary> | ||||||
|         public Session(int StartSR) |         public Session(int StartSR) | ||||||
|         { |         { | ||||||
| @ -192,21 +175,38 @@ namespace OWTrack | |||||||
|             TotalMatches = 0; |             TotalMatches = 0; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Check if session does not have any matches | ||||||
|  |         /// </summary> | ||||||
|  |         /// <returns>Booelan</returns> | ||||||
|         public bool IsNewSession() |         public bool IsNewSession() | ||||||
|         { |         { | ||||||
|             if (Matches.Count == 0) return true; |             if (Matches.Count == 0) return true; | ||||||
|             else return false; |             else return false; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Get last match in Matchs list | ||||||
|  |         /// </summary> | ||||||
|  |         /// <returns>Match</returns> | ||||||
|         public Match GetLastMatch() |         public Match GetLastMatch() | ||||||
|         { |         { | ||||||
|             return Matches.Last(); |             return Matches.Last(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Add Match to list | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name="match"></param> | ||||||
|         public void AddMatch(Match match) |         public void AddMatch(Match match) | ||||||
|         { |         { | ||||||
|  |             match.LastMatchSR = this.Matches.Last().newSR; | ||||||
|             this.Matches.Add(match); |             this.Matches.Add(match); | ||||||
|             this.TotalMatches = Matches.Count(); |             this.TotalMatches = Matches.Count(); | ||||||
|  |             if (match.IsWin) | ||||||
|  |                 wins++; | ||||||
|  |             else | ||||||
|  |                 losses++; | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -214,6 +214,8 @@ namespace OWTrack | |||||||
|     { |     { | ||||||
|         public Match() { } |         public Match() { } | ||||||
|         public DateTime dateTime { get; set; } |         public DateTime dateTime { get; set; } | ||||||
|  |         public bool IsWin; | ||||||
|  |         public string DateTimeSting; | ||||||
|         public int StartSR; |         public int StartSR; | ||||||
|         public int LastMatchSR; |         public int LastMatchSR; | ||||||
|         public int newSR; |         public int newSR; | ||||||
|  | |||||||
| @ -33,6 +33,10 @@ namespace OWTrack | |||||||
|         public static string GetSaves() { return SAVES; } |         public static string GetSaves() { return SAVES; } | ||||||
|         public static string GetCurrentDir() { return curDir; } |         public static string GetCurrentDir() { return curDir; } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Paths of 'Program Files' folders. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <returns></returns> | ||||||
|         public struct ProgramFiles |         public struct ProgramFiles | ||||||
|         { |         { | ||||||
|             public const string C = "C:\\Program Files"; |             public const string C = "C:\\Program Files"; | ||||||
| @ -47,31 +51,13 @@ namespace OWTrack | |||||||
|         /// <summary> |         /// <summary> | ||||||
|         /// Deserialize saved tracker instance. |         /// Deserialize saved tracker instance. | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <returns></returns> |         /// <returns>Tracker</returns> | ||||||
|         public static Tracker GetSavedTracker() |         public static Tracker GetSavedTracker() | ||||||
|         { |         { | ||||||
|             try |             try | ||||||
|             { |             { | ||||||
|                 return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(Paths.GetSaves())); |                 return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(Paths.GetSaves())); | ||||||
|             } |             } | ||||||
|             catch (Exception) |  | ||||||
|             { |  | ||||||
|                 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 |  | ||||||
|             { |  | ||||||
|                 return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(customPath)); |  | ||||||
|             } |  | ||||||
|             catch (Exception e) |             catch (Exception e) | ||||||
|             { |             { | ||||||
|                 throw e; |                 throw e; | ||||||
| @ -81,8 +67,8 @@ namespace OWTrack | |||||||
|         /// <summary> |         /// <summary> | ||||||
|         ///Saves the Tracker Object.  |         ///Saves the Tracker Object.  | ||||||
|         /// </summary> |         /// </summary> | ||||||
|         /// <param name="tracker"></param> |         /// <param name="Tracker"></param> | ||||||
|         /// <returns></returns> |         /// <returns>Boolean Value</returns> | ||||||
|         public static bool SaveJSON(Tracker tracker) |         public static bool SaveJSON(Tracker tracker) | ||||||
|         { |         { | ||||||
|             try |             try | ||||||
| @ -90,9 +76,9 @@ namespace OWTrack | |||||||
|                 File.WriteAllText(Paths.GetSaves(), JsonConvert.SerializeObject(tracker, Formatting.Indented)); |                 File.WriteAllText(Paths.GetSaves(), JsonConvert.SerializeObject(tracker, Formatting.Indented)); | ||||||
|                 return true; |                 return true; | ||||||
|             } |             } | ||||||
|             catch (Exception) |             catch (Exception e) | ||||||
|             { |             { | ||||||
|                 return false; |                 throw e; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	
TEST