Пример #1
0
        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 += "[锁]";
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
                    }
                }
            }
        }