Compare commits
12 Commits
master
...
reset-on-r
Author | SHA1 | Date | |
---|---|---|---|
6b9413ec93 | |||
16afdb74ac | |||
0634e5c21b | |||
b8298a2c4c | |||
74fc40f0d5 | |||
a2d7f8f888 | |||
74cd192c8a | |||
8f3d764114 | |||
c54c61c4d9 | |||
dbcdef9bf0 | |||
2e78d7ccfe | |||
de978bb317 |
@ -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
|
||||||
|
@ -112,7 +112,6 @@
|
|||||||
<Compile Include="MainForm.Designer.cs">
|
<Compile Include="MainForm.Designer.cs">
|
||||||
<DependentUpon>MainForm.cs</DependentUpon>
|
<DependentUpon>MainForm.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Paths.cs" />
|
|
||||||
<Compile Include="saveManeger.cs" />
|
<Compile Include="saveManeger.cs" />
|
||||||
<Compile Include="Tracker.cs" />
|
<Compile Include="Tracker.cs" />
|
||||||
<Compile Include="Program.cs" />
|
<Compile Include="Program.cs" />
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
/*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.*/
|
|
||||||
|
|
||||||
using System.IO;
|
|
||||||
|
|
||||||
namespace OWTrack
|
|
||||||
{
|
|
||||||
public struct Paths
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Current Application directory.
|
|
||||||
/// </summary>
|
|
||||||
private static string curDir = Directory.GetCurrentDirectory();
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Saves Folder relative path. \n Relative to Application Directory.
|
|
||||||
/// </summary>
|
|
||||||
private static string SAVES = curDir + "/saves/data.json";
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Saves Folder relative path. \n Relative to Application Directory.
|
|
||||||
/// </summary>
|
|
||||||
private static string JSON = curDir + "/data.json";
|
|
||||||
|
|
||||||
public static string GetJSON() { return JSON; }//TODO: Unused var
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get Saves file Path.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string GetSaves() { return SAVES; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Get Current Application directory.
|
|
||||||
/// </summary>
|
|
||||||
/// <returns></returns>
|
|
||||||
public static string GetCurrentDir() { return curDir; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// "Program Files" standered constant paths.
|
|
||||||
/// </summary>
|
|
||||||
public struct ProgramFiles
|
|
||||||
{
|
|
||||||
public const string C = "C:\\Program Files";
|
|
||||||
public const string D = "D:\\Program Files";
|
|
||||||
public const string E = "E:\\Program Files";
|
|
||||||
public const string F = "F:\\Program Files";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -17,6 +17,6 @@ namespace OWTrack
|
|||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new MainForm());
|
Application.Run(new MainForm());
|
||||||
}
|
}
|
||||||
public static string Version { get; } = "1.4.4.a1";
|
public static string Version { get; } = "1.4.3";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -28,9 +28,8 @@ namespace OWTrack
|
|||||||
{
|
{
|
||||||
class Tracker
|
class Tracker
|
||||||
{
|
{
|
||||||
//TODO: Encapsulate
|
|
||||||
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);
|
||||||
@ -88,9 +87,10 @@ namespace OWTrack
|
|||||||
.FirstOrDefault(p => p.MainModule.FileName.StartsWith(settings.GamePath)) != default(Process);
|
.FirstOrDefault(p => p.MainModule.FileName.StartsWith(settings.GamePath)) != default(Process);
|
||||||
return isRunning;
|
return isRunning;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
throw e;
|
Exception ex = new Exception("Error");
|
||||||
|
throw ex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else return false;
|
else return false;
|
||||||
@ -125,9 +125,9 @@ namespace OWTrack
|
|||||||
}
|
}
|
||||||
else return false;
|
else return false;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
return false;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,14 +174,15 @@ namespace OWTrack
|
|||||||
|
|
||||||
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)
|
||||||
{
|
{
|
||||||
@ -190,21 +191,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++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -212,6 +230,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;
|
||||||
|
@ -24,12 +24,34 @@ using System.IO;
|
|||||||
|
|
||||||
namespace OWTrack
|
namespace OWTrack
|
||||||
{
|
{
|
||||||
|
public struct Paths
|
||||||
|
{
|
||||||
|
private static string curDir = Directory.GetCurrentDirectory();
|
||||||
|
private static string SAVES = curDir + "/saves/data.json";
|
||||||
|
private static string JSON = curDir + "/data.json";
|
||||||
|
public static string GetJSON() { return JSON; }
|
||||||
|
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";
|
||||||
|
public const string D = "D:\\Program Files";
|
||||||
|
public const string E = "E:\\Program Files";
|
||||||
|
public const string F = "F:\\Program Files";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class saveManeger
|
class saveManeger
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Deserialize saved tracker instance.
|
/// Deserialize saved tracker instance.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Tracker Object</returns>
|
/// <returns>Tracker</returns>
|
||||||
public static Tracker GetSavedTracker()
|
public static Tracker GetSavedTracker()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -60,10 +82,10 @@ namespace OWTrack
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Deserializes and Saves the Tracker Object.
|
///Saves the Tracker Object.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="tracker"></param>
|
/// <param name="Tracker"></param>
|
||||||
/// <returns>Boolean value that represents the success or failuer</returns>
|
/// <returns>Boolean Value</returns>
|
||||||
public static bool SaveJSON(Tracker tracker)
|
public static bool SaveJSON(Tracker tracker)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
@ -71,9 +93,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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# OWtrack ![CI status](https://img.shields.io/badge/build-passing-brightgreen.svg) [![GitHub](https://img.shields.io/badge/Version-1.4.3-blue.svg)](https://apollo-server.ddns.net/gitea/Hesham/OWtrack/releases) [![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://opensource.org/licenses/MIT)
|
# OWtrack ![CI status](https://img.shields.io/badge/build-passing-brightgreen.svg) [![GitHub](https://img.shields.io/badge/Version-1.4.3-blue.svg)] (https://heshamgit.ddns.net/Hesham/OWtrack/releases) [![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
Track your Overwatch preformance with a shi#ty UI
|
Track your Overwatch preformance with a shi#ty UI
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user