public static SkillTree CreateSkillTree(StartLoadingWindow start = null, UpdateLoadingWindow update = null, CloseLoadingWindow finish = null) { string skilltreeobj = ""; if (Directory.Exists("Data")) { if (File.Exists("Data\\Skilltree.txt")) { skilltreeobj = File.ReadAllText("Data\\Skilltree.txt"); } if (!File.Exists("Data\\Assets")) { Directory.CreateDirectory("Data\\Assets"); } } else { Directory.CreateDirectory("Data"); Directory.CreateDirectory("Data\\Assets"); } bool displayProgress = false; if (skilltreeobj == "") { displayProgress = (start != null && update != null && finish != null); if (displayProgress) { start(); } string uriString = "http://www.pathofexile.com/passive-skill-tree/"; var req = (HttpWebRequest)WebRequest.Create(uriString); var resp = (HttpWebResponse)req.GetResponse(); string code = new StreamReader(resp.GetResponseStream()).ReadToEnd(); var regex = new Regex("var passiveSkillTreeData.*"); skilltreeobj = regex.Match(code).Value.Replace("root", "main").Replace("\\/", "/"); skilltreeobj = skilltreeobj.Substring(27, skilltreeobj.Length - 27 - 2) + ""; File.WriteAllText("Data\\Skilltree.txt", skilltreeobj); } if (displayProgress) { update(25, 100); } var skillTree = new SkillTree(skilltreeobj, displayProgress, update); if (displayProgress) { finish(); } return(skillTree); }
public static SkillTree CreateSkillTree(StartLoadingWindow start = null, UpdateLoadingWindow update = null, CloseLoadingWindow finish = null) { AssetsFolderPath = AppData.GetFolder(Path.Combine("Data", "Assets"), true); DataFolderPath = AppData.GetFolder("Data", true); string skillTreeFile = DataFolderPath + "Skilltree.txt"; string skilltreeobj = ""; if (File.Exists(skillTreeFile)) { skilltreeobj = File.ReadAllText(skillTreeFile); } bool displayProgress = false; if (skilltreeobj == "") { displayProgress = (start != null && update != null && finish != null); if (displayProgress) { start(L10n.Message("Downloading Skill tree assets")); } string uriString = SkillTree.TreeAddress; var req = (HttpWebRequest)WebRequest.Create(uriString); var resp = (HttpWebResponse)req.GetResponse(); string code = new StreamReader(resp.GetResponseStream()).ReadToEnd(); var regex = new Regex("var passiveSkillTreeData.*"); skilltreeobj = regex.Match(code).Value.Replace("\\/", "/"); skilltreeobj = skilltreeobj.Substring(27, skilltreeobj.Length - 27 - 1) + ""; File.WriteAllText(skillTreeFile, skilltreeobj); } if (displayProgress) { update(25, 100); } var skillTree = new SkillTree(skilltreeobj, displayProgress, update); if (displayProgress) { finish(); } return(skillTree); }
public static SkillTree CreateSkillTree(StartLoadingWindow start = null, UpdateLoadingWindow update = null, CloseLoadingWindow finish = null) { AssetsFolderPath = AppData.GetFolder(Path.Combine("Data", "Assets"), true); DataFolderPath = AppData.GetFolder("Data", true); string skillTreeFile = DataFolderPath + "Skilltree.txt"; string skilltreeobj = ""; if (File.Exists(skillTreeFile)) { skilltreeobj = File.ReadAllText(skillTreeFile); } bool displayProgress = false; if (skilltreeobj == "") { displayProgress = (start != null && update != null && finish != null); if (displayProgress) start(L10n.Message("Downloading Skill tree assets")); string uriString = SkillTree.TreeAddress; var req = (HttpWebRequest)WebRequest.Create(uriString); var resp = (HttpWebResponse)req.GetResponse(); string code = new StreamReader(resp.GetResponseStream()).ReadToEnd(); var regex = new Regex("var passiveSkillTreeData.*"); skilltreeobj = regex.Match(code).Value.Replace("\\/", "/"); skilltreeobj = skilltreeobj.Substring(27, skilltreeobj.Length - 27 - 1) + ""; File.WriteAllText(skillTreeFile, skilltreeobj); } if (displayProgress) update(25, 100); var skillTree = new SkillTree(skilltreeobj, displayProgress, update); if (displayProgress) finish(); return skillTree; }