Compare commits

..

13 Commits

Author SHA1 Message Date
05ab987a68 Version 2018-09-27 11:30:11 +03:00
7be0e816f1 New Save Parameters 2018-09-27 11:24:32 +03:00
216f9d1d54 Merge branch 'feature/settingsForm' into release/1.4 2018-09-27 11:06:45 +03:00
b02b0ee65b settings form done 2018-09-27 11:06:24 +03:00
713b43b3a7 refactor 2018-09-27 10:34:14 +03:00
b7e1bf3792 fixed bug 2018-09-27 10:29:30 +03:00
b0846bc10a Merge branch 'refactor/usingSaveManeger' into release/1.4 2018-09-27 10:19:06 +03:00
ccc2028b7f Paths class 2018-09-27 10:17:17 +03:00
a77e5684c3 Paths enum (to be built) 2018-09-26 15:58:17 +03:00
f3f2b71d68 Design Done 2018-09-23 16:31:18 +03:00
3500430109 use of save maneger 2018-09-23 16:08:46 +03:00
f4c56e2bc2 saveManeger 2018-09-23 15:25:51 +03:00
c410f078b0 Tracker Update 2018-09-23 15:14:11 +03:00
7 changed files with 392 additions and 82 deletions

57
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,57 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
"args": [],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
"args": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart",
"launchBrowser": {
"enabled": true,
"args": "${auto-detect-url}",
"windows": {
"command": "cmd.exe",
"args": "/C start ${auto-detect-url}"
},
"osx": {
"command": "open"
},
"linux": {
"command": "xdg-open"
}
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceFolder}/Views"
}
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
}

View File

@ -48,13 +48,19 @@
this.srBut = new System.Windows.Forms.Button();
this.srLabel = new System.Windows.Forms.Label();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.label5 = new System.Windows.Forms.Label();
this.SRInfoLabel = new System.Windows.Forms.Label();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.SettingsGroup = new System.Windows.Forms.GroupBox();
this.ChngOWPathBtn = new System.Windows.Forms.Button();
this.ExeTrackCheckBx = new System.Windows.Forms.CheckBox();
this.SRCheckBx = new System.Windows.Forms.CheckBox();
this.SettingsGroup.SuspendLayout();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 36);
this.label1.Location = new System.Drawing.Point(17, 36);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(75, 13);
this.label1.TabIndex = 0;
@ -79,7 +85,7 @@
// Time
//
this.Time.AutoSize = true;
this.Time.Location = new System.Drawing.Point(15, 13);
this.Time.Location = new System.Drawing.Point(20, 13);
this.Time.Name = "Time";
this.Time.Size = new System.Drawing.Size(35, 13);
this.Time.TabIndex = 2;
@ -88,39 +94,39 @@
// Wins
//
this.Wins.AutoSize = true;
this.Wins.Font = new System.Drawing.Font("Miriam Mono CLM", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(177)));
this.Wins.Font = new System.Drawing.Font("Microsoft Sans Serif", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(177)));
this.Wins.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
this.Wins.Location = new System.Drawing.Point(107, 78);
this.Wins.Location = new System.Drawing.Point(162, 78);
this.Wins.Name = "Wins";
this.Wins.Size = new System.Drawing.Size(40, 42);
this.Wins.Size = new System.Drawing.Size(39, 42);
this.Wins.TabIndex = 3;
this.Wins.Text = "0";
//
// Losses
//
this.Losses.AutoSize = true;
this.Losses.Font = new System.Drawing.Font("Miriam Mono CLM", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(177)));
this.Losses.Font = new System.Drawing.Font("Microsoft Sans Serif", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(177)));
this.Losses.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.Losses.Location = new System.Drawing.Point(176, 78);
this.Losses.Location = new System.Drawing.Point(231, 78);
this.Losses.Name = "Losses";
this.Losses.Size = new System.Drawing.Size(40, 42);
this.Losses.Size = new System.Drawing.Size(39, 42);
this.Losses.TabIndex = 4;
this.Losses.Text = "0";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Miriam Mono CLM", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(177)));
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(177)));
this.label3.ForeColor = System.Drawing.Color.Black;
this.label3.Location = new System.Drawing.Point(151, 75);
this.label3.Location = new System.Drawing.Point(206, 75);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(40, 42);
this.label3.Size = new System.Drawing.Size(28, 42);
this.label3.TabIndex = 5;
this.label3.Text = ":";
//
// WinBut
//
this.WinBut.Location = new System.Drawing.Point(106, 136);
this.WinBut.Location = new System.Drawing.Point(161, 136);
this.WinBut.Name = "WinBut";
this.WinBut.Size = new System.Drawing.Size(52, 26);
this.WinBut.TabIndex = 6;
@ -130,7 +136,7 @@
//
// button2
//
this.button2.Location = new System.Drawing.Point(164, 136);
this.button2.Location = new System.Drawing.Point(219, 136);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(52, 26);
this.button2.TabIndex = 6;
@ -143,7 +149,7 @@
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 27.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.Black;
this.label2.Location = new System.Drawing.Point(142, 76);
this.label2.Location = new System.Drawing.Point(197, 76);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(31, 42);
this.label2.TabIndex = 5;
@ -161,7 +167,7 @@
//
// reduceLossBut
//
this.reduceLossBut.Location = new System.Drawing.Point(222, 137);
this.reduceLossBut.Location = new System.Drawing.Point(277, 137);
this.reduceLossBut.Name = "reduceLossBut";
this.reduceLossBut.Size = new System.Drawing.Size(20, 24);
this.reduceLossBut.TabIndex = 8;
@ -171,7 +177,7 @@
//
// reduceWinBut
//
this.reduceWinBut.Location = new System.Drawing.Point(82, 137);
this.reduceWinBut.Location = new System.Drawing.Point(137, 137);
this.reduceWinBut.Name = "reduceWinBut";
this.reduceWinBut.Size = new System.Drawing.Size(20, 24);
this.reduceWinBut.TabIndex = 9;
@ -181,17 +187,17 @@
//
// clearBut
//
this.clearBut.Location = new System.Drawing.Point(271, 200);
this.clearBut.Location = new System.Drawing.Point(19, 103);
this.clearBut.Name = "clearBut";
this.clearBut.Size = new System.Drawing.Size(49, 25);
this.clearBut.Size = new System.Drawing.Size(75, 25);
this.clearBut.TabIndex = 10;
this.clearBut.Text = "clear";
this.clearBut.Text = "Clear stats";
this.clearBut.UseVisualStyleBackColor = true;
this.clearBut.Click += new System.EventHandler(this.clearBut_Click);
//
// srTextBox
//
this.srTextBox.Location = new System.Drawing.Point(114, 168);
this.srTextBox.Location = new System.Drawing.Point(169, 168);
this.srTextBox.Name = "srTextBox";
this.srTextBox.Size = new System.Drawing.Size(100, 20);
this.srTextBox.TabIndex = 11;
@ -199,7 +205,7 @@
//
// srBut
//
this.srBut.Location = new System.Drawing.Point(129, 194);
this.srBut.Location = new System.Drawing.Point(184, 194);
this.srBut.Name = "srBut";
this.srBut.Size = new System.Drawing.Size(75, 23);
this.srBut.TabIndex = 12;
@ -210,11 +216,11 @@
// srLabel
//
this.srLabel.AutoSize = true;
this.srLabel.Font = new System.Drawing.Font("Noto Mono", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.srLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.srLabel.ForeColor = System.Drawing.Color.DarkOrchid;
this.srLabel.Location = new System.Drawing.Point(189, 36);
this.srLabel.Name = "srLabel";
this.srLabel.Size = new System.Drawing.Size(65, 23);
this.srLabel.Size = new System.Drawing.Size(46, 24);
this.srLabel.TabIndex = 13;
this.srLabel.Text = "0 - 0";
//
@ -224,28 +230,83 @@
this.openFileDialog1.InitialDirectory = "C:\\";
this.openFileDialog1.RestoreDirectory = true;
//
// label5
// SRInfoLabel
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(190, 13);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(87, 13);
this.label5.TabIndex = 14;
this.label5.Text = "Start - Gain/Loss";
this.SRInfoLabel.AutoSize = true;
this.SRInfoLabel.Location = new System.Drawing.Point(180, 13);
this.SRInfoLabel.Name = "SRInfoLabel";
this.SRInfoLabel.Size = new System.Drawing.Size(87, 13);
this.SRInfoLabel.TabIndex = 14;
this.SRInfoLabel.Text = "Start - Gain/Loss";
//
// Form1
// notifyIcon1
//
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
this.notifyIcon1.Text = "OWtrack";
this.notifyIcon1.Visible = true;
//
// SettingsGroup
//
this.SettingsGroup.Controls.Add(this.ChngOWPathBtn);
this.SettingsGroup.Controls.Add(this.ExeTrackCheckBx);
this.SettingsGroup.Controls.Add(this.SRCheckBx);
this.SettingsGroup.Controls.Add(this.clearBut);
this.SettingsGroup.Location = new System.Drawing.Point(12, 62);
this.SettingsGroup.Name = "SettingsGroup";
this.SettingsGroup.Size = new System.Drawing.Size(116, 143);
this.SettingsGroup.TabIndex = 15;
this.SettingsGroup.TabStop = false;
this.SettingsGroup.Text = "Settings";
//
// ChngOWPathBtn
//
this.ChngOWPathBtn.Location = new System.Drawing.Point(19, 74);
this.ChngOWPathBtn.Name = "ChngOWPathBtn";
this.ChngOWPathBtn.Size = new System.Drawing.Size(75, 23);
this.ChngOWPathBtn.TabIndex = 1;
this.ChngOWPathBtn.Text = "OW Path";
this.ChngOWPathBtn.UseVisualStyleBackColor = true;
this.ChngOWPathBtn.Click += new System.EventHandler(this.ChngOWPathBtn_Click);
//
// ExeTrackCheckBx
//
this.ExeTrackCheckBx.AutoSize = true;
this.ExeTrackCheckBx.Checked = true;
this.ExeTrackCheckBx.CheckState = System.Windows.Forms.CheckState.Checked;
this.ExeTrackCheckBx.Location = new System.Drawing.Point(11, 44);
this.ExeTrackCheckBx.Name = "ExeTrackCheckBx";
this.ExeTrackCheckBx.Size = new System.Drawing.Size(90, 17);
this.ExeTrackCheckBx.TabIndex = 0;
this.ExeTrackCheckBx.Text = "OW Tracking";
this.ExeTrackCheckBx.UseVisualStyleBackColor = true;
this.ExeTrackCheckBx.CheckedChanged += new System.EventHandler(this.ExeTrackCheckBx_CheckedChanged);
//
// SRCheckBx
//
this.SRCheckBx.AutoSize = true;
this.SRCheckBx.Checked = true;
this.SRCheckBx.CheckState = System.Windows.Forms.CheckState.Checked;
this.SRCheckBx.Location = new System.Drawing.Point(11, 19);
this.SRCheckBx.Name = "SRCheckBx";
this.SRCheckBx.Size = new System.Drawing.Size(86, 17);
this.SRCheckBx.TabIndex = 0;
this.SRCheckBx.Text = "SR Tracking";
this.SRCheckBx.UseVisualStyleBackColor = true;
this.SRCheckBx.CheckedChanged += new System.EventHandler(this.SRCheckBx_CheckedChanged);
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(332, 237);
this.Controls.Add(this.label5);
this.ClientSize = new System.Drawing.Size(342, 237);
this.Controls.Add(this.SettingsGroup);
this.Controls.Add(this.SRInfoLabel);
this.Controls.Add(this.srLabel);
this.Controls.Add(this.srBut);
this.Controls.Add(this.srTextBox);
this.Controls.Add(this.Time);
this.Controls.Add(this.status);
this.Controls.Add(this.label1);
this.Controls.Add(this.clearBut);
this.Controls.Add(this.reduceWinBut);
this.Controls.Add(this.reduceLossBut);
this.Controls.Add(this.label4);
@ -258,9 +319,11 @@
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "Form1";
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "OWTrack";
this.SettingsGroup.ResumeLayout(false);
this.SettingsGroup.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@ -286,7 +349,12 @@
private System.Windows.Forms.Button srBut;
private System.Windows.Forms.Label srLabel;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label SRInfoLabel;
private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.GroupBox SettingsGroup;
private System.Windows.Forms.CheckBox ExeTrackCheckBx;
private System.Windows.Forms.CheckBox SRCheckBx;
private System.Windows.Forms.Button ChngOWPathBtn;
}
}

View File

@ -24,7 +24,6 @@ using System.Windows.Forms;
using Newtonsoft.Json;
using System.IO;
namespace OWTrack
{
public partial class MainForm : Form
@ -32,7 +31,6 @@ namespace OWTrack
Tracker tr = new Tracker();
private const string IS_RUNNING = "Running";
private const string NOT_RUNNING = " Not running";
private string savesPath = Directory.GetCurrentDirectory() + "/saves/data.json";
private bool SRonce = false;
public MainForm()
@ -57,8 +55,12 @@ namespace OWTrack
}
else
{
status.Text = NOT_RUNNING;
status.ForeColor = Color.Black;
if (tr.TrackOW)
{
status.Text = NOT_RUNNING;
status.ForeColor = Color.Black;
}
else status.Text = "";
}
}
catch (Exception e)
@ -82,7 +84,7 @@ namespace OWTrack
{
try
{
using (StreamReader st = new StreamReader(savesPath))
using (StreamReader st = new StreamReader(Paths.SAVES))
{
string line = st.ReadLine();
if (line.Contains("Overwatch.exe"))
@ -105,14 +107,16 @@ namespace OWTrack
{
MessageBox.Show(e.Message);
}
update();
}
else if (!tr.LoacteOW())
{
tr.gamePath = getGamePath();
}
}
ExeTrackCheckBx.Checked = tr.TrackOW;
SRCheckBx.Checked = tr.TrackSR;
update();
}
private string getGamePath()
{
openFileDialog1.Title = "Select Overwatch.exe";
@ -122,28 +126,25 @@ namespace OWTrack
if (result == DialogResult.OK)
{
//tr.gamePath = openFileDialog1.FileName;
MessageBox.Show("Saved Overwatch.exe location.\nPress Clear to rest");
return openFileDialog1.FileName;
return openFileDialog1.FileName;
}
else
{
update();
return null;
}
}
private void SRSystem(bool state)
{
srBut.Enabled = state;
srTextBox.Enabled = state;
tr.TrackSR = state;
}
private Tracker savedTracker()
private void OWTrackFunc(bool state)
{
try
{
return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(savesPath));
}
catch (Exception e)
{
MessageBox.Show(e.Message);
return null;
}
tr.TrackOW = state;
}
private void update()
@ -157,7 +158,7 @@ namespace OWTrack
}
else srLabel.Text = tr.startSR.ToString() + " - " + tr.srDiff();
srTextBox.Text = null;
File.WriteAllText(Directory.GetCurrentDirectory() + "/saves/data.json", JsonConvert.SerializeObject(tr));
saveManeger.SaveJSON(tr);
}
#region Events
@ -227,6 +228,27 @@ namespace OWTrack
}
update();
}
private void SRCheckBx_CheckedChanged(object sender, EventArgs e)
{
SRSystem(SRCheckBx.Checked);
update();
}
private void ExeTrackCheckBx_CheckedChanged(object sender, EventArgs e)
{
OWTrackFunc(ExeTrackCheckBx.Checked);
update();
}
private void ChngOWPathBtn_Click(object sender, EventArgs e)
{
tr.gamePath = getGamePath();
update();
}
#endregion
}
}

View File

@ -123,7 +123,146 @@
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>104, 17</value>
</metadata>
<metadata name="notifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>244, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAMAICAAAAEAIACoEAAANgAAABgYAAABACAAiAkAAN4QAAAQEAAAAQAgAGgEAABmGgAAKAAAACAA
AABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA////zP///8z////M////zP///8z/AAAA/////////////////wAA
AP///8z////M////zP///8z////M////zP///8z/AAAA////zP///8z////M/wAAAP8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD////M////zP8AAAD/AAAA////
/////////////wAAAP///8z////M////zP///8z////M////zP8AAAD////M////zP///8z/AAAA/wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ZpnM/2aZzP8AAAD/AAAA/zPM
//8zzP//AAAA/////////////////wAAAP///8z////M////zP///8z////M////zP///8z////M////
zP8AAAD/AAAAAAAAAABERET/AAAA/wAAAP9ERET/AAAAAAAAAAAAAAAAAAAA/2aZzP9mmcz/ZpnM/2aZ
zP9mmcz/AAAA/zPM//8zzP//AAAA/////////////////wAAAP8AAAD/AAAA////zP///8z////M////
zP///8z////M/wAAAP8AAAAAAAAA/5lm//8AM5n/ADOZ/wAzmf8AAAD/AAAAAAAAAAAAAAAAAAAA/wAA
AP8AAAD/AAAA/2aZzP9mmcz/AAAA/zPM//8zzP//AAAA/////////////////wAAAP///8z////M////
zP///8z////M////zP///8z/AAAA/0RERP8AM5n/mWb//wAAAP8AAAD/mWb//wAzmf9ERET/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA/2aZzP9mmcz/AAAA/zPM//8zzP//AAAA/////////////////wAA
AP///8z////M////zP///8z/AAAA/wAAAP8AAAAAAAAA/5lm//8AAAD/AAAAAAAAAAAAAAD/ADOZ/wAA
AP8AAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP//////AAAA/2aZzP9mmcz/AAAA/zPM//8zzP//AAAA////
/////////////wAAAP8AAAD/AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAD/mZn//wAAAP8AAAAAAAAAAAAA
AP8AM5n/AAAA/wAAAAAAAAAAAAAA/zMz//8zM///MzP//wAAAP8AAAD/AAAA/2aZzP8AAAD/M8z//zPM
//8zzP//AAAA//////8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERP+Zmf//mZn//wAA
AP8AAAD/ADOZ/wAzmf9ERET/AAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/MzP//zMz//8AAAD/ZpnM/wAA
AP8zzP//M8z//zPM//8AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AP/MzP//mZn//5lm//+ZZv//AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAA
AP9mmcz/AAAA/zPM//8zzP//M8z//wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAERERP8AAAD/AAAA/0RERP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA////
////////AAAA/2aZzP8AAAD/M8z//zPM//8zzP//AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAAAAAAD/AAAA////
////////AAAA/wAAAP9mmcz/ZpnM/wAAAP8AAAD/M8z//zPM//8AAAD/AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////AAAA////
////////AAAA/wAAAP8AAAD/ZpnM/2aZzP8AAAD/M8z//zPM//8AAAD/M8z//wAAAP8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/ZpnM/2aZzP9mmcz/AAAA/zPM//8AAAD/M8z//wAAAP8zzP//M8z//wAA
AP8AAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9mmcz/ZpnM/2aZ
zP9mmcz/ZpnM/2aZzP9mmcz/ZpnM/2aZzP9mmcz/AAAA/wAAAP8zzP//M8z//wAAAP8AAAD/M8z//zPM
//8AAAD/AAAA/wAAAP8AAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AP9mmcz/ZpnM/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8zzP//M8z//zPM//8zzP//M8z//zPM
//8AAAD/AAAA/zPM//8AAAD/AAAA/wAAAAAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAP8AAAD/M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//zPM
//8AAAD/M8z//wAAAP8zzP//AAAA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAD/M8z//zPM//8zzP//M8z//wAAAP8AAAD/AAAA/wAAAP9VVVX/M8z//zPM
//8zzP//M8z//zPM//8AAAD/AAAA/zPM//8zzP//M8z//wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8zzP//M8z//zPM//8AAAD////M////zP///8z////M/wAA
AP8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//wAAAP8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA////zP///8z/AAAA////
zP///////////wAAAP8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//AAAA/wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7u7v/AAAA////
zP//////////////////////AAAA/zPM//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//zPM
//8zzP//AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAD///////////////////////////8AAAD/M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//zPM
//8zzP//M8z//zPM//8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAALu7u/8AAAD/////////////////AAAA/zPM//8zzP//M8z//zPM//8zzP//M8z//zPM
//8zzP//M8z//zPM//8zzP//M8z//wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALu7u/8AAAD/VVVV/wAAAP8zzP//M8z//zPM//8zzP//M8z//zPM
//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/M8z//zPM//8zzP//M8z//zPM
//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/M8z//zPM
//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//M8z//zPM//8zzP//AAAA/wAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AADAAwAA8AMAAPADAAD8BwAA/gcAAP8HAAA=
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAMAICAAAAEAIACoEAAANgAAABgYAAABACAAiAkAAN4QAAAQEAAAAQAgAGgEAABmGgAAKAAAACAA

View File

@ -18,7 +18,7 @@ namespace OWTrack
Application.Run(new MainForm());
}
public static string Version { get; } = "1.4.1a1";
public static string Version { get; } = "1.4.1";
//public static string Version = Application.ProductVersion;
//public static Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;

View File

@ -29,33 +29,40 @@ namespace OWTrack
{
class Tracker
{
public int wins, losses, startSR, newSR = 0;
public int wins, losses, startSR, newSR, totalMatches = 0;
public string gamePath;
public void Track() { }
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 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;
public bool owRunning()
{
try
if (TrackOW)
{
bool isRunning = Process.GetProcessesByName("Overwatch")
.FirstOrDefault(p => p.MainModule.FileName.StartsWith(gamePath)) != default(Process);
return isRunning;
}
catch (Exception)
{
Exception ex = new Exception("Error");
throw ex;
try
{
bool isRunning = Process.GetProcessesByName("Overwatch")
.FirstOrDefault(p => p.MainModule.FileName.StartsWith(gamePath)) != default(Process);
return isRunning;
}
catch (Exception)
{
Exception ex = new Exception("Error");
throw ex;
}
}
else return false;
}
public bool LoacteOW()

View File

@ -28,15 +28,24 @@ using System.Threading.Tasks;
namespace OWTrack
{
class saveManeger
static class Paths
{
private static string savesPath = Directory.GetCurrentDirectory() + "/saves/data.json";
private static string curDir = Directory.GetCurrentDirectory();
public static string SAVES = curDir + "/saves/data.json";
public static string JSON = curDir + "/data.json";
}
class saveManeger
{
/// <summary>
/// Deserialize saved tracker instance.
/// </summary>
/// <returns></returns>
public static Tracker GetSavedTracker()
{
try
{
return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(savesPath));
return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(Paths.SAVES));
}
catch (Exception e)
{
@ -44,12 +53,11 @@ namespace OWTrack
}
}
//TODO: use para
public static Tracker GetSavedTracker(string customPath)
{
try
{
return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(Directory.GetCurrentDirectory() + "/data.json"));
return JsonConvert.DeserializeObject<Tracker>(File.ReadAllText(customPath));
}
catch (Exception e)
{
@ -57,11 +65,16 @@ namespace OWTrack
}
}
/// <summary>
///Saves the Tracker Object.
/// </summary>
/// <param name="tracker"></param>
/// <returns></returns>
public static bool SaveJSON(Tracker tracker)
{
try
{
File.WriteAllText(Directory.GetCurrentDirectory() + "/data.json", JsonConvert.SerializeObject(tracker));
File.WriteAllText(Paths.SAVES, JsonConvert.SerializeObject(tracker));
return true;
}
catch (Exception)
@ -70,11 +83,15 @@ namespace OWTrack
}
}
/// <summary>
/// Check if a 'data.json' exists in the default location '../saves/data.json'.
/// </summary>
/// <returns>Boolean Value</returns>
public static bool saveExist()
{
try
{
if (File.Exists(savesPath))
if (File.Exists(Paths.SAVES))
{
return true;
}