Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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;
        }