static void Postfix(HomeBuilding __instance) { if (!Main.enabled) { return; } string[] array = __instance.name.Split(new char[] { ',' }); int partId = int.Parse(array[1]); int placeId = int.Parse(array[2]); int buildingIndex = int.Parse(array[3]); if (BuildingExclusion.GetState(partId, placeId, buildingIndex)) { __instance.placeName.text += "[锁]"; } }
static void Postfix(HomeSystemWindow __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); } }
static void Postfix(HomeBuilding __instance) { if (!Main.enabled) { return; } string[] array = __instance.name.Split(new char[] { ',' }); int partId = int.Parse(array[1]); int placeId = int.Parse(array[2]); int buildingId = int.Parse(array[3]); int[] buildingDate = DateFile.instance.homeBuildingsDate[partId][placeId][buildingId]; if (buildingDate[0] > 0 && int.Parse(DateFile.instance.basehomePlaceDate[buildingDate[0]][3]) == 1 && buildingDate[3] <= 0) { if (DateFile.instance.actorsWorkingDate.ContainsKey(partId) && DateFile.instance.actorsWorkingDate[partId].ContainsKey(placeId) && DateFile.instance.actorsWorkingDate[partId][placeId].ContainsKey(buildingId)) { int eff = HomeSystem.instance.GetBuildingLevelPct(partId, placeId, buildingId); int total = int.Parse(DateFile.instance.basehomePlaceDate[buildingDate[0]][91]); if (total > 0) { string text = ""; int color = 20002 + 6; if (Main.settings.showEfficienctUsingDifferentColor) { int percent = 100 * eff / total; if (percent >= 90) { color = 20002 + 2; } else if (percent >= 70) { color = 20002 + 1; } else if (percent >= 50) { color = 20002 + 7; } else { color = 20002 + 8; } } if (Main.settings.showEfficiencyAsMyWay) { text = "(" + (eff / 2).ToString() + "%)"; } else { text = "(" + (100 * eff / total).ToString() + "%)"; } if (!Main.settings.showEfficienctInBottom) { __instance.pctText.text += DateFile.instance.SetColoer(color, text, false); } else { __instance.placeName.text += DateFile.instance.SetColoer(color, text, false); } } } else { string text = "(空闲)"; int color = 20002 + 8; if (!Main.settings.showEfficienctInBottom) { __instance.pctText.text += DateFile.instance.SetColoer(color, text, false); } else { __instance.placeName.text += DateFile.instance.SetColoer(color, text, false); } } } }