WIP: Major update #45
| @ -71,7 +71,6 @@ namespace OWTrack | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         //Move to saveManeger.cs ?         | ||||
|         private void loadSave() | ||||
|         { | ||||
|             try | ||||
| @ -92,7 +91,7 @@ namespace OWTrack | ||||
|                     } | ||||
|                     catch (Exception) | ||||
|                     { | ||||
|                         MessageBox.Show("Could not load Save.\n" + | ||||
|                         MessageBox.Show("Could not load Save!\n" + | ||||
|                                         "Starting new save."); | ||||
|                         tr = new Tracker(); | ||||
|                     } | ||||
| @ -144,16 +143,24 @@ namespace OWTrack | ||||
| 
 | ||||
|         private void update() | ||||
|         { | ||||
|             Wins.Text = tr.GetWins().ToString(); | ||||
|             Losses.Text = tr.GetLosses().ToString(); | ||||
|             if (tr.newSR == 0) | ||||
|             try | ||||
|             { | ||||
|                 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(); | ||||
|                 srTextBox.Text = null; | ||||
|                 saveManeger.SaveJSON(tr); | ||||
|             } | ||||
|             else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff(); | ||||
|             srTextBox.Text = null; | ||||
|             saveManeger.SaveJSON(tr); | ||||
|             catch (Exception e) | ||||
|             { | ||||
|                 MessageBox.Show(e.Message); | ||||
|             } | ||||
| 
 | ||||
|         } | ||||
| 
 | ||||
|         private void AddMatch() | ||||
| @ -163,7 +170,9 @@ namespace OWTrack | ||||
|                 StartSR = tr.startSR, | ||||
|                 newSR = tr.newSR, | ||||
|                 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); | ||||
|         } | ||||
| @ -226,12 +235,6 @@ namespace OWTrack | ||||
|             } | ||||
|             finally | ||||
|             { | ||||
|                 //if (!SRonce) | ||||
|                 //{ | ||||
|                 //    tr.startSR = sr; | ||||
|                 //    SRonce = true; | ||||
|                 //} | ||||
|                 //else tr.newSR = sr; | ||||
|                 if (tr.GetCurrentSession().IsNewSession()) | ||||
|                     tr.startSR = sr; | ||||
|                 else | ||||
|  | ||||
| @ -113,6 +113,7 @@ | ||||
|       <DependentUpon>MainForm.cs</DependentUpon> | ||||
|     </Compile> | ||||
|     <Compile Include="saveManeger.cs" /> | ||||
|     <Compile Include="Settings.cs" /> | ||||
|     <Compile Include="Tracker.cs" /> | ||||
|     <Compile Include="Program.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.Linq; | ||||
| using System.IO; | ||||
| using System.Windows.Forms; | ||||
| using System.Collections.Generic; | ||||
| 
 | ||||
| namespace OWTrack | ||||
| @ -128,8 +127,7 @@ namespace OWTrack | ||||
|             } | ||||
|             catch (Exception e) | ||||
|             { | ||||
|                 MessageBox.Show(e.Message); | ||||
|                 return false; | ||||
|                 throw e; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
| @ -158,24 +156,9 @@ 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 | ||||
|     { | ||||
|         public int wins, losses = 0; | ||||
|         public int TotalMatches; | ||||
|         public int SkillChange; | ||||
|         public int StartSR; | ||||
| @ -183,7 +166,7 @@ namespace OWTrack | ||||
|         public List<Match> Matches = new List<Match>(); | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Start a new session with a starting Skill Rating | ||||
|         /// Start a new session | ||||
|         ///</summary> | ||||
|         public Session(int StartSR) | ||||
|         { | ||||
| @ -192,21 +175,38 @@ namespace OWTrack | ||||
|             TotalMatches = 0; | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Check if session does not have any matches | ||||
|         /// </summary> | ||||
|         /// <returns>Booelan</returns> | ||||
|         public bool IsNewSession() | ||||
|         { | ||||
|             if (Matches.Count == 0) return true; | ||||
|             else return false; | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Get last match in Matchs list | ||||
|         /// </summary> | ||||
|         /// <returns>Match</returns> | ||||
|         public Match GetLastMatch() | ||||
|         { | ||||
|             return Matches.Last(); | ||||
|         } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Add Match to list | ||||
|         /// </summary> | ||||
|         /// <param name="match"></param> | ||||
|         public void AddMatch(Match match) | ||||
|         { | ||||
|             match.LastMatchSR = this.Matches.Last().newSR; | ||||
|             this.Matches.Add(match); | ||||
|             this.TotalMatches = Matches.Count(); | ||||
|             if (match.IsWin) | ||||
|                 wins++; | ||||
|             else | ||||
|                 losses++; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -214,6 +214,8 @@ namespace OWTrack | ||||
|     { | ||||
|         public Match() { } | ||||
|         public DateTime dateTime { get; set; } | ||||
|         public bool IsWin; | ||||
|         public string DateTimeSting; | ||||
|         public int StartSR; | ||||
|         public int LastMatchSR; | ||||
|         public int newSR; | ||||
|  | ||||
| @ -33,6 +33,10 @@ namespace OWTrack | ||||
|         public static string GetSaves() { return SAVES; } | ||||
|         public static string GetCurrentDir() { return curDir; } | ||||
| 
 | ||||
|         /// <summary> | ||||
|         /// Paths of 'Program Files' folders. | ||||
|         /// </summary> | ||||
|         /// <returns></returns> | ||||
|         public struct ProgramFiles | ||||
|         { | ||||
|             public const string C = "C:\\Program Files"; | ||||
| @ -47,31 +51,13 @@ namespace OWTrack | ||||
|         /// <summary> | ||||
|         /// Deserialize saved tracker instance. | ||||
|         /// </summary> | ||||
|         /// <returns></returns> | ||||
|         /// <returns>Tracker</returns> | ||||
|         public static Tracker GetSavedTracker() | ||||
|         { | ||||
|             try | ||||
|             { | ||||
|                 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) | ||||
|             { | ||||
|                 throw e; | ||||
| @ -81,8 +67,8 @@ namespace OWTrack | ||||
|         /// <summary> | ||||
|         ///Saves the Tracker Object.  | ||||
|         /// </summary> | ||||
|         /// <param name="tracker"></param> | ||||
|         /// <returns></returns> | ||||
|         /// <param name="Tracker"></param> | ||||
|         /// <returns>Boolean Value</returns> | ||||
|         public static bool SaveJSON(Tracker tracker) | ||||
|         { | ||||
|             try | ||||
| @ -90,9 +76,9 @@ namespace OWTrack | ||||
|                 File.WriteAllText(Paths.GetSaves(), JsonConvert.SerializeObject(tracker, Formatting.Indented)); | ||||
|                 return true; | ||||
|             } | ||||
|             catch (Exception) | ||||
|             catch (Exception e) | ||||
|             { | ||||
|                 return false; | ||||
|                 throw e; | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	
TEST