/// <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); } }
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); }
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); }