Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
    // 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);
    }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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;
                }
            }
        }
Exemplo n.º 5
0
        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;
                }
            }
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
 static void Postfix(HomeSystem __instance)
 {
     if (!Main.enabled || !Main.settings.showInStory)
     {
         return;
     }
     Changer.ChangeObjectsName(__instance.itemHolder, "ItemNumberText");
 }
Exemplo n.º 8
0
 static void Postfix(HomeSystem __instance)
 {
     if (!Main.enabled || !Main.settings.showInReadBook)
     {
         return;
     }
     Changer.ChangeObjectsName(__instance.bookHolder, "ItemHpText");
 }
Exemplo n.º 9
0
 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);
     }
 }
Exemplo n.º 10
0
 static void Postfix(HomeSystem __instance)
 {
     if (!Main.enabled || !Main.settings.studyWithNoAgeLimit)
     {
         return;
     }
     __instance.ageLevelBar.fillAmount = 1.0f;
 }
Exemplo n.º 11
0
        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();
        }
Exemplo n.º 12
0
        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);
            });
        }
Exemplo n.º 13
0
 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);
 }
Exemplo n.º 14
0
 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);
     }
 }
Exemplo n.º 15
0
        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));
        }
Exemplo n.º 17
0
        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;
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
0
            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);
                }
            }
Exemplo n.º 20
0
        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);
                }
            }
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
        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);
        }
Exemplo n.º 23
0
        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);
            }
        }
Exemplo n.º 24
0
        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;
                    }
                }
            }
        }
Exemplo n.º 25
0
        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);
            }
        }
Exemplo n.º 26
0
        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();
            });
        }
Exemplo n.º 27
0
            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);
                }
            }
Exemplo n.º 28
0
 public ReadBookState(string name, HFSMBaseSystem hfsmSystem, Text systemText, Text stateText) : base(name, hfsmSystem)
 {
     system          = (HomeSystem)hfsmSystem;
     this.systemText = systemText;
     this.stateText  = stateText;
 }
Exemplo n.º 29
0
 static void Postfix(HomeSystem __instance)
 {
     __instance.StartCoroutine(trunChange());
 }
Exemplo n.º 30
0
 static void Prefix(HomeSystem __instance)
 {
     UIDate.instance.ChangeTime(false, -levelUpTime);
 }