LocateOW 2 + search algo

This commit is contained in:
HeshamTB 2018-09-03 22:11:05 +03:00
parent 8248450127
commit 9e33f09b8e
2 changed files with 76 additions and 20 deletions

View File

@ -50,6 +50,7 @@ namespace OWTrack
tr.losses = savedTracker().losses; tr.losses = savedTracker().losses;
tr.newSR = savedTracker().newSR; tr.newSR = savedTracker().newSR;
tr.startSR = savedTracker().startSR; tr.startSR = savedTracker().startSR;
tr.gamePath = savedTracker().gamePath;
update(); update();
} }
else MessageBox.Show("no save"); else MessageBox.Show("no save");
@ -59,9 +60,27 @@ namespace OWTrack
{ {
try try
{ {
if (File.Exists(Directory.GetCurrentDirectory() + "/data.json")) { return true; } if (File.Exists(Directory.GetCurrentDirectory() + "/data.json"))
{
using (StreamReader st = new StreamReader(Directory.GetCurrentDirectory() + "/data.json"))
{
string line = st.ReadLine();
if (line.Contains("Overwatch.exe"))
{
st.Close();
return true;
}
else
{
getGamePath();
st.Close();
return true;
}
}
}
else else
{ {
MessageBox.Show("NO data.json");
getGamePath(); getGamePath();
return false; return false;
} }
@ -84,6 +103,7 @@ namespace OWTrack
if (openFileDialog1.ShowDialog() == DialogResult.OK) if (openFileDialog1.ShowDialog() == DialogResult.OK)
{ {
tr.gamePath = openFileDialog1.FileName; tr.gamePath = openFileDialog1.FileName;
update();
} }
} }

View File

@ -2,15 +2,15 @@
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;
namespace OWTrack namespace OWTrack
{ {
class Tracker class Tracker
{ {
public int wins, losses, startSR, newSR = 0; public int wins, losses, startSR, newSR = 0;
public string gamePath; public string gamePath;
private string[] commonDir = ["C:\Program Files","D:\Program Files"];
public void Track() { } public void Track() { }
public void reset() { wins = 0; losses = 0; startSR = 0; newSR = 0; } public void reset() { wins = 0; losses = 0; startSR = 0; newSR = 0; }
@ -23,7 +23,6 @@ namespace OWTrack
public void setNewSR(int SR) { newSR = SR; } public void setNewSR(int SR) { newSR = SR; }
public int srDiff() { return newSR - startSR; } public int srDiff() { return newSR - startSR; }
public bool owRunning() public bool owRunning()
{ {
try try
@ -39,31 +38,68 @@ namespace OWTrack
} }
} }
public void LoacteOW() /// <summary>
/// Not Working!
/// </summary>
/// <returns></returns>
public bool LoacteOW()
{ {
try try
{ {
string[] files = []; List<string> paths = new List<string>();
for (int i = 0; i < commonDir.count; i++) string[] filesC = null;
string[] filesD = null;
if (ProgramFilesExist('c')) { filesC = Directory.GetFiles("C:\\Program Files", "Overwatch.exe", SearchOption.AllDirectories); }
if (ProgramFilesExist('d')) { filesD = Directory.GetFiles("D:\\Program Files", "Overwatch.exe", SearchOption.AllDirectories); }
if (filesC != null)
{ {
files.append(Directory.GetFiles(commonDir[i], "Overwatch*",SearchOption.AllDirectories)); for (int i = 0; i < filesC.Length; i++)
}
if (files.contians("Overwatch.exe"))
{
foreach (string "*Overwatch.exe" in files)
{ {
if (filesC[i].Contains("Overwatch.exe"))
{
paths.Add(filesC[i]);
}
} }
} }
if (filesD != null)
{
for (int i = 0; i < filesD.Length - 1; i++)
{
if (filesD[i].Contains("Overwatch.exe"))
{
paths.Add(filesD[i]);
}
}
}
if (paths.Count > 1)
{
//TODO: ask about correct path
return true;
}
else if (paths.Count == 1)
{
gamePath = paths[0];
return true;
}
else return false;
} }
catch (Exception e) catch (Exception e)
{ {
MesssageBox.show(e.message); MessageBox.Show(e.Message);
} return false;
}
}
} private bool ProgramFilesExist(char drive)
{
return Directory.Exists(drive+":\\Program Files");
}
} }
} }