static void Prefix(HomeSystem __instance, ref int partId, ref int placeId, ref int buildingIndex) { // HomeSystem.IsTaiWu if (DateFile.instance.GetNewMapDate(partId, placeId, 96) != "1") { return; } bool pass = Main.settings.greedy ^ Main.settings.valid_coords.Contains(buildingIndex); if (pass) { int[] infos = DateFile.instance.homeBuildingsDate[partId][placeId][buildingIndex]; Dictionary <int, string> base_infos = DateFile.instance.basehomePlaceDate[infos[0]]; int full = int.Parse(base_infos[91]); if (full > 0) { int x = (buildingIndex - Main.settings.TAIWU) % Main.settings._L; int y = -(buildingIndex - Main.settings.TAIWU) / Main.settings._L; if (Main.settings.debug) { Main.logger.Log("boosting " + base_infos[0] + " at coordinate (" + x + ", " + y + ")" + ", buildingIndex " + buildingIndex); } DateFile.instance.SetHomeBuildingValue(partId, placeId, buildingIndex, 11, full); } } }
// Start is called before the first frame update void Start() { manager = new HFSMManagerSystem(); HomeSystem homeSystem = new HomeSystem("HomeSystem", manager); ReadBookState readBookState = new ReadBookState("ReadBookState", homeSystem, systemText, stateText); readBookState.AddTransition("Cook", "CookState"); CookState cookState = new CookState("CookState", homeSystem, systemText, stateText); cookState.AddTransition("Sleep", "SleepState"); SleepState sleepState = new SleepState("SleepState", homeSystem, systemText, stateText); sleepState.AddTransition("ReadBook", "ReadBookState"); homeSystem.AddState(readBookState); homeSystem.AddState(cookState); homeSystem.AddState(sleepState); MarketSystem marketSystem = new MarketSystem("MarketSystem", manager); BuyState buyState = new BuyState("BuyState", marketSystem, systemText, stateText); buyState.AddTransition("Pay", "PayState"); PayState payState = new PayState("PayState", marketSystem, systemText, stateText); payState.AddTransition("Buy", "BuyState"); marketSystem.AddState(buyState); marketSystem.AddState(payState); manager.AddSubSystem(homeSystem); manager.AddSubSystem(marketSystem); }
private static void Postfix(HomeSystem __instance, Transform ___itemHolder) { if (!Main.enabled) { return; } int num = -999; List <int> list = new List <int>(ActorMenu.instance.GetActorItems(num, 0).Keys); for (int i = 0; i < list.Count; i++) { int num2 = list[i]; if (int.Parse(DateFile.instance.GetItemDate(num2, 301, true)) > 0) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(ActorMenu.instance.itemIconNoDrag, Vector3.zero, Quaternion.identity); gameObject.name = "Item," + num2; gameObject.transform.SetParent(___itemHolder, false); Image component = gameObject.transform.Find("ItemBack").GetComponent <Image>(); component.sprite = GetSprites.instance.itemBackSprites[int.Parse(DateFile.instance.GetItemDate(num2, 4, true))]; component.color = ActorMenu.instance.LevelColor(int.Parse(DateFile.instance.GetItemDate(num2, 8, true))); gameObject.GetComponent <Toggle>().group = ___itemHolder.GetComponent <ToggleGroup>(); gameObject.transform.Find("ItemNumberText").GetComponent <Text>().text = "×" + DateFile.instance.GetItemNumber(num, num2); GameObject gameObject2 = gameObject.transform.Find("ItemIcon").gameObject; gameObject2.name = "ItemIcon," + num2; gameObject2.GetComponent <Image>().sprite = GetSprites.instance.itemSprites[int.Parse(DateFile.instance.GetItemDate(num2, 98, true))]; } } return; }
static void Postfix(HomeSystem __instance) { if (!Main.enabled) { return; } UIDate.instance.ChangeTime(false, readTime); if (Main.settings.crossMonth && !Main.settings.buildingAdvanced) { __instance.actorIntText.text = DateFile.instance.SetColoer(20005, DateFile.instance.dayTime + " / " + readTime, false); } if (__instance.readBookId <= 0) { return; } if (Main.settings.buildingAdvanced) { BuildingEffect.isGongfa = (__instance.studySkillTyp == 17); BuildingEffect.gongfaOrSkillId = int.Parse(DateFile.instance.GetItemDate(__instance.readBookId, 32, true)); BuildingEffect.readReducedTime = BuildingEffect.getBuildingEffectValue(BuildingEffect.BuildingType.ReduceReadTime, __instance.homeMapPartId, __instance.homeMapPlaceId, __instance.homeMapbuildingIndex); int time = readTime - BuildingEffect.readReducedTime; if (time >= DateFile.instance.dayTime || Main.settings.crossMonth) { __instance.actorIntText.text = DateFile.instance.SetColoer(20005, DateFile.instance.dayTime + " / " + time, false); } else { __instance.actorIntText.text = DateFile.instance.SetColoer(20010, DateFile.instance.dayTime + " / " + time, false); __instance.startReadBookButton.interactable = false; } } }
static void Postfix(HomeSystem __instance) { if (!Main.enabled) { return; } UIDate.instance.ChangeTime(false, levelUpTime); if (Main.settings.crossMonth && !Main.settings.buildingAdvanced) { __instance.levelUPActorLevelText.text = DateFile.instance.SetColoer(20005, DateFile.instance.dayTime + " / " + levelUpTime, false); } if (__instance.levelUPSkillId <= 0) { return; } if (Main.settings.buildingAdvanced) { BuildingEffect.isGongfa = (__instance.studySkillTyp == 17); BuildingEffect.gongfaOrSkillId = __instance.levelUPSkillId; BuildingEffect.levelUpReducedTime = BuildingEffect.getBuildingEffectValue(BuildingEffect.BuildingType.ReduceLevelUpTime, __instance.homeMapPartId, __instance.homeMapPlaceId, __instance.homeMapbuildingIndex); int time = levelUpTime - BuildingEffect.levelUpReducedTime; if (time >= DateFile.instance.dayTime || Main.settings.crossMonth) { __instance.levelUPActorLevelText.text = DateFile.instance.SetColoer(20005, DateFile.instance.dayTime + " / " + time, false); } else { __instance.levelUPActorLevelText.text = DateFile.instance.SetColoer(20010, DateFile.instance.dayTime + " / " + time, false); __instance.StartLevelUPButton.interactable = false; } } }
static void Postfix(HomeSystem __instance, int ___studySkillId) { if (!Main.enabled) { return; } if (Main.settings.crossMonth) { __instance.levelUPActorLevelText.text = DateFile.instance.SetColoer(20005, DateFile.instance.dayTime + " / " + studyTime, false); } if (___studySkillId <= 0) { return; } int time = studyTime; if (Main.settings.buildingAdvanced) { BuildingEffect.isGongfa = (__instance.studySkillTyp == 17); BuildingEffect.gongfaOrSkillId = ___studySkillId; int studyNoTimeProp = BuildingEffect.getBuildingEffectValue(BuildingEffect.BuildingType.ReduceStudyTime, __instance.homeMapPartId, __instance.homeMapPlaceId, __instance.homeMapbuildingIndex); if (UnityEngine.Random.Range(0, 100) < studyNoTimeProp) { UIDate.instance.ChangeTime(false, -time); time = 0; } } if (Main.settings.crossMonth && DateFile.instance.dayTime < time) { TrunChange.setAfterCrossTime(time); UIDate.instance.ChangeTime(false, -time); } }
static void Postfix(HomeSystem __instance) { if (!Main.enabled || !Main.settings.showInStory) { return; } Changer.ChangeObjectsName(__instance.itemHolder, "ItemNumberText"); }
static void Postfix(HomeSystem __instance) { if (!Main.enabled || !Main.settings.showInReadBook) { return; } Changer.ChangeObjectsName(__instance.bookHolder, "ItemHpText"); }
static void Postfix(HomeSystem __instance) { if (Main.enabled && Main.settings.crossMonth) { int time = 1; __instance.actorLevelText.text = DateFile.instance.SetColoer(20005, DateFile.instance.dayTime + " / " + time, false); } }
static void Postfix(HomeSystem __instance) { if (!Main.enabled || !Main.settings.studyWithNoAgeLimit) { return; } __instance.ageLevelBar.fillAmount = 1.0f; }
static void Postfix(HomeSystem __instance, ref int partId, ref int placeId, ref int buildingIndex, ref int[] __result) { if (!Main.enabled || !Main.settings.unBuildLimit) { return; } int[] buildData = DateFile.instance.homeBuildingsDate[partId][placeId][buildingIndex]; int exnum = int.Parse(DateFile.instance.basehomePlaceDate[buildData[0]][42]); if (exnum != 0) { return; } Checkchange(partId, placeId); List <int> list = __result.ToList(); int ___buildingId = (int)typeof(BuildingWindow).GetField("buildingId").GetValue(BuildingWindow.instance); if (___buildingId != 0) //物品建筑不为0 { bool buildon = false; int length = __result.Length; for (int i = 0; i < length; i++) { if (DateFile.instance.homeBuildingsDate[partId][placeId].ContainsKey(__result[i])) { //Main.Logger.Log(DateFile.instance.homeBuildingsDate[partId][placeId][__result[i]][0].ToString()); if (DateFile.instance.homeBuildingsDate[partId][placeId][__result[i]][0] > 200 && DateFile.instance.homeBuildingsDate[partId][placeId][__result[i]][0] < 20000) { buildon = true; break; } } } if (buildon || Main.settings.unlockAll || length == 4) { string[] needBuild = DateFile.instance.basehomePlaceDate[___buildingId][5].Split(new char[] { '|' }); //需要建筑列表 for (int i = 0; i < needBuild.Length; i++) { int buildId = int.Parse(needBuild[i]); foreach (int key in dictionary.Keys)//枚举当前地图列表 { if (buildId == dictionary[key][0]) { list.Add(key); break; } } } } } if (buildData[0] != 0 || Main.settings.unlockAll) //判断当前建筑是否为空地且不是可扩张地块 { list = list.Union(addList).ToList(); //合并列表 } __result = list.ToArray(); }
private static void Postfix(HomeSystem __instance) { if (!Main.enabled && Main.binding_key) { return; } EscClose newobj = __instance.gameObject.AddComponent(typeof(EscClose)) as EscClose; newobj.setparam(typeof(HomeSystem), "CloseHomeSystem", () => { //依次检测子窗口,顺序很重要 // 如果制造窗口开着,就不处理 if (MakeSystem.instance.makeWindowBack.gameObject.activeInHierarchy == true) { return(false); } // 如果商店窗口开着,就不处理 if (ShopSystem.instance.shopWindow.activeInHierarchy == true || BookShopSystem.instance.shopWindow.activeInHierarchy == true || SystemSetting.instance.SystemSettingWindow.activeInHierarchy == true) { return(false); } // setstudyWindow if (HomeSystem.instance.setStudyWindow.gameObject.activeInHierarchy == true) { HomeSystem.instance.CloseSetStudyWindow(); return(false); } // studywindow if (HomeSystem.instance.studyWindow.activeInHierarchy == true) { HomeSystem.instance.CloseStudyWindow(); return(false); } //bookWindow if (HomeSystem.instance.bookWindow.activeInHierarchy == true) { HomeSystem.instance.CloseBookWindow(); return(false); } //building window if (HomeSystem.instance.buildingWindow.gameObject.activeInHierarchy == true) { HomeSystem.instance.CloseBuildingWindow(); return(false); } return(HomeSystem.instance.homeSystem.activeInHierarchy); }); }
static bool Prefix(HomeSystem __instance, ref int key, ref int ___workingActorId, ref Button ___canChanageActorButton) { if (!Main.enabled || !Main.settings.forcechange) { return(true); } ___workingActorId = key; ___canChanageActorButton.interactable = true; return(false); }
private static bool Prefix(int ___studySkillId, int ___studySkillTyp, ref HomeSystem __instance) { if (!enabled || !settings.basicUISettings[2] || ___studySkillId <= 0 || ___studySkillTyp <= 0 || ___studySkillTyp > 17) { return(true); } else { int mainActorId = DateFile.instance.MianActorID(); if (___studySkillTyp == 17) { if (DateFile.instance.GetGongFaLevel(mainActorId, ___studySkillId, 0) >= 100) { return(false); } // 基础遗惠 int scoreGain = int.Parse(DateFile.instance.gongFaDate[___studySkillId][2]); // 清零因为实战而获得的突破成功率加成 DateFile.instance.addGongFaStudyValue = 0; //DateFile.instance.actorGongFas[mainActorId][___studySkillId][0] = 100; DateFile.instance.ChangeActorGongFa(mainActorId, ___studySkillId, 100, 0, 0, false); // 突破成功一次增加的遗惠 DateFile.instance.AddActorScore(302, scoreGain * 100); if (DateFile.instance.GetGongFaLevel(mainActorId, ___studySkillId, 0) >= 100 && DateFile.instance.GetGongFaFLevel(mainActorId, ___studySkillId) >= 10) { // 修习到100%时增加的遗惠 DateFile.instance.AddActorScore(304, scoreGain * 100); } } else { if (DateFile.instance.GetSkillLevel(___studySkillId) >= 100) { return(false); } int scoreGain = int.Parse(DateFile.instance.skillDate[___studySkillId][2]); // 清零因为较艺而获得的突破成功率加成 DateFile.instance.addSkillStudyValue = 0; DateFile.instance.ChangeMianSkill(___studySkillId, 100, 0, false); //DateFile.instance.actorSkills[___studySkillId][0] = 100; // 突破成功一次增加的遗惠 DateFile.instance.AddActorScore(202, scoreGain * 100); if (DateFile.instance.GetSkillLevel(___studySkillId) >= 100 && DateFile.instance.GetSkillFLevel(___studySkillId) >= 10) { // 修习到100%时增加的遗惠 DateFile.instance.AddActorScore(204, scoreGain * 100); } } __instance.UpdateStudySkillWindow(); __instance.UpdateLevelUPSkillWindow(); __instance.UpdateReadBookWindow(); return(false); } }
private static void Postfix(HomeSystem __instance) { if (!Main.enabled || Main.binding_key) { return; } var comp = __instance.newBuildingWindowBack.AddComponent <ConfirmComponent>(); comp.SetActionOnConfirm(() => { if (!HomeSystem.instance.newBuildingWindowBack.activeInHierarchy) { return; } if (!HomeSystem.instance.canBuildingButton.interactable) { return; } DateFile.instance.PlayeSE(2); HomeSystem.instance.StartNewBuilding(); }); comp = __instance.buildingUPWindowBack.AddComponent <ConfirmComponent>(); comp.SetActionOnConfirm(() => { if (!HomeSystem.instance.buildingUPWindowBack.activeInHierarchy) { return; } if (!HomeSystem.instance.buildingUpCanBuildingButton.interactable) { return; } DateFile.instance.PlayeSE(2); HomeSystem.instance.StartBuildingUp(); }); comp = __instance.removeBuildingWindowBack.AddComponent <ConfirmComponent>(); comp.SetActionOnConfirm(() => { if (!HomeSystem.instance.removeBuildingWindowBack.activeInHierarchy) { return; } if (!HomeSystem.instance.buildingRemoveCanBuildingButton.interactable) { return; } DateFile.instance.PlayeSE(2); HomeSystem.instance.StartBuildingRemove(); }); }
public ActionResult DeleteSystem(int id, int templateID) { //int templateID = templateModel.Template.ID; //TemplateModel templateModel = new TemplateModel(); HomeSystem system = db.HomeSystems.Find(id); if (system != null) { foreach (var c in db.CheckItems) { if (c.SystemID == system.ID) { foreach (var co in db.Comments) { if (co.CheckItemID == c.ID) { foreach (var i in db.Images) { if (i.CommentID == co.ID) { db.Images.Remove(i); db.SaveChangesAsync(); } } db.Comments.Remove(co); db.SaveChangesAsync(); } } db.CheckItems.Remove(c); db.SaveChangesAsync(); } } foreach (var l in db.Limitations) { if (l.SystemID == system.ID) { DeleteLimitation(l.ID); } } db.HomeSystems.Remove(system); db.SaveChanges(); } TemplateModel templateModel = new TemplateModel(); templateModel.Template = db.Templates.Find(templateID); return(Save(templateID, templateModel)); }
private static void Postfix(HomeSystem __instance, int ___useItemId) { if (!Main.enabled) { return; } if (!DateFile.instance.actorItemsDate[DateFile.instance.MianActorID()].ContainsKey(___useItemId)) { DateFile.instance.LoseItem(-999, ___useItemId, 1, true); } return; }
static void Prefix(HomeSystem __instance) { var bookViewBack = HomeSystem.instance.bookHolder.parent.gameObject; if (bookViewBack.GetComponent <NewBookView>() == null) { bookView = bookViewBack.AddComponent <NewBookView>(); } if (!hasInit) { hasInit = true; bookView.Init(); } // HomeSystem.instance.bookHolder.parent.parent.gameObject.SetActive(false); }
private static bool Prefix(int ___readBookId, int ___studySkillTyp, HomeSystem __instance) { #if DEBUG logger.Log($"[TaiwuEditor]快速读书: id: {___readBookId},SkillTyp: {___studySkillTyp}"); #endif if (!enabled || !settings.basicUISettings[1] || ___studySkillTyp < 1 || ___studySkillTyp > 17 || ___readBookId < 1) { return(true); } else { Helper.EasyReadV2(___readBookId, ___studySkillTyp, settings.pagesPerFastRead); __instance.UpdateReadBookWindow(); return(false); } }
static void Postfix(HomeSystem __instance, int partId, int placeId, int buildingIndex, int size, ref int[] __result) { if (!Main.enabled || !Main.settings.neighborNine) { return; } int[] array; int num = int.Parse(DateFile.instance.GetNewMapDate(partId, placeId, 32)); if (size > 1) { array = new int[] { buildingIndex - num * 2 - 2, buildingIndex - num * 2 - 1, buildingIndex - num * 2 + 1, buildingIndex - num * 2 + 2, buildingIndex - num - 2, buildingIndex - num + 2, buildingIndex + num - 2, buildingIndex + num + 2, buildingIndex + num * 2 - 2, buildingIndex + num * 2 - 1, buildingIndex + num * 2 + 1, buildingIndex + num * 2 + 2, }; checkIndex(ref array, buildingIndex, num, 2); } else { array = new int[] { buildingIndex - num - 1, buildingIndex - num + 1, buildingIndex + num + 1, buildingIndex + num - 1, }; checkIndex(ref array, buildingIndex, num, 1); } foreach (int index in array) { if (!__result.Contains(index)) { __result.Add(index); } } }
static void Postfix(HomeSystem __instance) { if (!Main.enabled) { return; } int partId = __instance.homeMapPartId; int placeId = __instance.homeMapPlaceId; int buildingIndex = __instance.homeMapbuildingIndex; int[] building = DateFile.instance.homeBuildingsDate[partId][placeId][buildingIndex]; int baseBuildingId = building[0]; bool isTaiwuVillage = int.Parse(DateFile.instance.basehomePlaceDate[baseBuildingId][44]) > 0; MajordomoWindowButton.goButton.SetActive(isTaiwuVillage); }
static void Prefix(HomeSystem __instance) { if (!Main.Enabled) { return; } var bookViewBack = BuildingWindow.instance.bookHolder.parent.gameObject; if (bookViewBack.GetComponent <NewBookView>() == null) { bookView = bookViewBack.AddComponent <NewBookView>(); } if (!hasInit) { hasInit = true; bookView.Init(); } // HomeSystem.instance.bookHolder.parent.parent.gameObject.SetActive(false); }
static void Postfix(HomeSystem __instance, int actorValue, int readSkillId, ref int __result) { if (!Main.enabled || !Main.settings.buildingAdvanced) { return; } int reducedHard = BuildingEffect.getBuildingEffectValue(BuildingEffect.BuildingType.ReduceHard, __instance.homeMapPartId, __instance.homeMapPlaceId, __instance.homeMapbuildingIndex); __result -= reducedHard; if (DateFile.instance.readPower) { __result = 0; } else { __result = Mathf.Max(50, __result); } }
static void Prefix(HomeSystem __instance, int ___workingActorId) { if (!Main.enabled || !Main.settings.forcechange) { return; } var array = DateFile.instance.ActorIsWorking(___workingActorId); if (array != null) { var dic = DateFile.instance.actorsWorkingDate[array[0]][array[1]]; foreach (int key in dic.Keys) { if (dic[key] == ___workingActorId) { __instance.RemoveWorkingActor(array[0], array[1], key); break; } } } }
public override int GetHashCode() { //https://stackoverflow.com/a/892640/3131828 unchecked { int h = 23; h *= 31 + (Name?.GetHashCode() ?? 0); h *= 31 + (FactionState?.GetHashCode() ?? 0); h *= 31 + (Government?.GetHashCode() ?? 0); h *= 31 + Influence.GetHashCode(); h *= 31 + (Allegiance?.GetHashCode() ?? 0); h *= 31 + (MyReputation?.GetHashCode() ?? 0); h *= 31 + SquadronFaction.GetHashCode(); h *= 31 + HappiestSystem.GetHashCode(); h *= 31 + HomeSystem.GetHashCode(); h *= 31 + (PendingStates?.GetHashCode() ?? 0); h *= 31 + (RecoveringStates?.GetHashCode() ?? 0); h *= 31 + (ActiveStates?.GetHashCode() ?? 0); return(h); } }
private static void Postfix(HomeSystem __instance) { if (!Main.enabled || Main.binding_key) { return; } var comp = __instance.actorListWindow.AddComponent <ConfirmComponent>(); comp.SetActionOnConfirm(() => { if (!HomeSystem.instance.actorListWindow.activeInHierarchy) { return; } if (!HomeSystem.instance.canChanageActorButton.interactable) { return; } DateFile.instance.PlayeSE(2); HomeSystem.instance.ChanageWorkingAcotr(); }); }
static void Postfix(HomeSystem __instance) { if (!Main.enabled) { return; } int partId = HomeSystem.instance.homeMapPartId; int placeId = HomeSystem.instance.homeMapPlaceId; int mapSideLength = int.Parse(DateFile.instance.GetNewMapDate(partId, placeId, 32)); int maxBuildings = mapSideLength * mapSideLength; for (int buildingIndex = 0; buildingIndex < __instance.allHomeBulding.Length && buildingIndex < maxBuildings; ++buildingIndex) { HomeBuilding building = __instance.allHomeBulding[buildingIndex]; var handler = building.buildingButton.GetComponent <BuildingPointerHandler>(); if (!handler) { handler = building.buildingButton.AddComponent <BuildingPointerHandler>(); } handler.SetLocation(partId, placeId, buildingIndex); } }
public ReadBookState(string name, HFSMBaseSystem hfsmSystem, Text systemText, Text stateText) : base(name, hfsmSystem) { system = (HomeSystem)hfsmSystem; this.systemText = systemText; this.stateText = stateText; }
static void Postfix(HomeSystem __instance) { __instance.StartCoroutine(trunChange()); }
static void Prefix(HomeSystem __instance) { UIDate.instance.ChangeTime(false, -levelUpTime); }