/// <summary>
        /// Create new FarmList
        /// </summary>
        private void button1_Click(object sender, System.EventArgs e)
        {
            var          addName = new AddNewFarmListNameForm();
            DialogResult dr      = addName.ShowDialog(this);

            if (dr == DialogResult.Cancel)
            {
                addName.Close();
            }
            else if (dr == DialogResult.OK)
            {
                var acc  = GetSelectedAcc();
                var vill = GetSelectedVillage(acc);
                if (vill == null)
                {
                    return;
                }

                var farmlist = new FarmList();

                farmlist.Name = addName.getName();
                addName.Close();

                vill.FarmingNonGold.ListFarm.Add(farmlist);
                comboBox_NameList.Items.Add(farmlist.Name);
                comboBox_NameList.SelectedIndex = comboBox_NameList.Items.Count - 1;
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public bool Load(MtnFarmData data)
        {
            string farmName = data.FarmTypeName;
            int    index    = FarmList.FindIndex(n => n.Name == farmName);

            if (index < 0)
            {
                return(true);
            }

            LoadedIndex = index;
            return(false);
        }
        public static List <FarmList> ParseT4_4(HtmlAgilityPack.HtmlNode raidList)
        {
            List <FarmList> list = new List <FarmList>();
            var             fls  = raidList.ChildNodes.Where(x => x.Id.StartsWith("list"));

            foreach (var fl in fls)
            {
                FarmList farmList = new FarmList();
                farmList.Enabled    = true;
                farmList.Name       = fl.Descendants("div").First(x => x.HasClass("listTitleText")).InnerText.Trim();
                farmList.Id         = (int)Parser.RemoveNonNumeric(fl.Id);
                farmList.NumOfFarms = (int)Parser.RemoveNonNumeric(fl.Descendants("span").First(x => x.HasClass("raidListSlotCount")).InnerText.Split('/')[0]);
                list.Add(farmList);
            }
            return(list);
        }
        ///////////////
        ///////////////
        /// Methods ///
        ///////////////
        ///////////////

        /// <summary>
        ///
        /// </summary>
        /// <param name="contentPack"></param>
        /// <param name="monitor"></param>
        /// <returns></returns>
        public void Populate(IModHelper helper, IContentPack contentPack, IMonitor monitor)
        {
            CustomFarm FarmData = new CustomFarm();

            if (ProcessContentPack(contentPack, out FarmData))
            {
                monitor.Log($"\t + Contains a custom farm.", LogLevel.Trace);
                if (FarmData.Version < 2.1)
                {
                    FarmData = BackwardsCompatibility(contentPack, monitor, FarmData.Version);
                }
                LoadIcon(helper, contentPack, FarmData);
                Validate(FarmData);
                FarmData.ContentPack = contentPack;
                FarmList.Add(FarmData);
            }
        }
Exemple #5
0
        public void LoadCustomFarmByMtnData()
        {
            MtnFarmData farmData;

            MethodInfo keyReader = helper.Data.GetType().GetMethod("GetSaveFileKey", BindingFlags.NonPublic | BindingFlags.Instance);
            string     key       = (string)keyReader.Invoke(helper.Data, new object[] { "MtnFarmData" });

            if (SaveGame.loaded.CustomData.TryGetValue(key, out string value))
            {
                farmData = JsonConvert.DeserializeObject <MtnFarmData>(SaveGame.loaded.CustomData[key]);
            }
            else
            {
                CustomFarm farm = FarmList.Find(x => x.ID == Game1.whichFarm);
                farmData = new MtnFarmData {
                    FarmTypeName = farm.Name
                };
                helper.Data.WriteSaveData("MtnFarmData", farmData);
            }

            Canon = FarmManager.Load(farmData);
        }
Exemple #6
0
        public static List <FarmList> ParseFL(HtmlAgilityPack.HtmlDocument htmlDoc)
        {
            var list     = new List <FarmList>();
            var raidList = htmlDoc.GetElementbyId("raidList");

            //No raid lists? Maybe no rally point, change village
            if (raidList == null)
            {
                return(null);
            }
            var fls = raidList.ChildNodes.Where(x => x.Id.StartsWith("list"));

            foreach (var fl in fls)
            {
                FarmList farmList = new FarmList();
                farmList.Enabled    = true;
                farmList.Name       = fl.Descendants("div").First(x => x.HasClass("listTitleText")).InnerText.Trim();
                farmList.Id         = (int)Parser.RemoveNonNumeric(fl.Id);
                farmList.NumOfFarms = (int)Parser.RemoveNonNumeric(fl.Descendants("span").First(x => x.HasClass("raidListSlotCount")).InnerText.Split('/')[0]);
                list.Add(farmList);
            }
            return(list);
        }
        public static List <FarmList> ParseT4_5(HtmlAgilityPack.HtmlNode raidList)
        {
            List <FarmList> list  = new List <FarmList>();
            var             vills = raidList.ChildNodes.Where(x => x.HasClass("villageWrapper"));

            foreach (var vill in vills)
            {
                string villName = vill.Descendants("a").First(x => x.HasClass("villageName")).InnerText;
                var    fls      = vill.Descendants("div").Where(x => x.HasClass("raidList"));

                foreach (var fl in fls)
                {
                    FarmList farmList = new FarmList();
                    farmList.Enabled = true;
                    string FlName = fl.Descendants("div").First(x => x.HasClass("listName")).InnerText.Trim();
                    farmList.Name       = (villName + " - " + FlName).Replace("\t", "").Replace("\n", "").Replace("\r", "");
                    farmList.Id         = (int)Parser.RemoveNonNumeric(fl.GetAttributeValue("data-listid", ""));
                    farmList.NumOfFarms = (int)Parser.RemoveNonNumeric(fl.Descendants("span").First(x => x.HasClass("slotsCount")).InnerText);
                    list.Add(farmList);
                }
            }
            return(list);
        }