Beispiel #1
0
        private static IEnumerator HSceneInput(FreeHScene freeHScene)
        {
            for (int i = 0; i < 3; i++)
            {
                yield return(null);
            }

            do
            {
                yield return(null);

                if (StartFreeH.Value.IsDown())
                {
                    freeHScene.enterButton.onClick.Invoke();
                    freeHScene = null;
                }
            }while(freeHScene);
        }
Beispiel #2
0
        private static void HookFreeHProps(FreeHScene __instance)
        {
            firstRun = true;

            var member = __instance.member;

            member.resultHeroine.Where(x => x != null).Subscribe(x => SaveChara(x.charFile, y => saveData.HeroinePath = y));
            member.resultPartner.Where(x => x != null).Subscribe(x => SaveChara(x.charFile, y => saveData.PartnerPath = y));
            member.resultPlayer.Where(x => x != null).Subscribe(x => SaveChara(x.charFile, y => saveData.PlayerPath   = y));
            member.resultMapInfo.Subscribe(x => { if (x != null)
                                                  {
                                                      saveData.map = x.No;
                                                  }
                                                  SaveXml(); });
            member.resultTimeZone.Subscribe(x => { saveData.timeZone = x; SaveXml(); });
            member.resultStage1.Subscribe(x => { saveData.stageH1 = x; SaveXml(); });
            member.resultStage2.Subscribe(x => { saveData.stageH2 = x; SaveXml(); });
            member.resultStatus.Subscribe(x => { saveData.statusH = x; SaveXml(); });
            member.resultDiscovery.Subscribe(x => { saveData.discovery = x; SaveXml(); });
        }
Beispiel #3
0
        private static IEnumerator coroutineTest(FreeHScene __instance)
        {
            yield return(null);

            yield return(null);

            yield return(null);

            yield return(null);

            yield return(null);

            var traverse = Traverse.Create(__instance);
            var member   = traverse.Field("member").GetValue <FreeHScene.Member>();

            var chaFileControl = new ChaFileControl();

            chaFileControl.LoadCharaFile(@"C:\games\Koikatu\UserData\chara\female\_めぐみん_2019_0124_1955_42_062.png", 1, false, true);
            member.resultHeroine.Value = new SaveData.Heroine(chaFileControl, false);
        }
Beispiel #4
0
 private static void FixDiscoveryLogic(FreeHScene __instance)
 {
     __instance.tglDiscoverySafeMasturbation.isOn = !__instance.discovery;
     __instance.tglDiscoveryOutMasturbation.isOn  = __instance.discovery;
 }
Beispiel #5
0
 private static void FreeHStart(FreeHScene __instance)
 {
     plugin.StartCoroutine(coroutineTest(__instance));
 }
Beispiel #6
0
 private static void PostFixFreeHSceneStart(FreeHScene __instance)
 {
     ConsoleLog("attempting start");
     inMapScreen = true;
 }
Beispiel #7
0
        private void Update()
        {
            try
            {
                if (Singleton <Manager.Scene> .Instance.NowSceneNames.Any(sceneName => sceneName == "FreeH"))
                {
                    if (RandomHotkey.IsDown())
                    {
                        //Get some random female cards
                        FreeHScene        instance     = Singleton <FreeHScene> .Instance;
                        FreeHScene.Member member       = (FreeHScene.Member)instance.GetType().GetField("member", AccessTools.all).GetValue(instance);
                        FolderAssist      folderAssist = new FolderAssist();
                        folderAssist.CreateFolderInfoEx(Path.Combine(UserData.Path, "chara/female/"), new string[] { "*.png" }, true);
                        List <string> list = (from n in folderAssist.lstFile.Shuffle() select n.FullPath).ToList();

                        if (list.Count == 0)
                        {
                            return;
                        }

                        //Load the main female
                        ChaFileControl chaFileControl = new ChaFileControl();
                        if (chaFileControl.LoadCharaFile(list[0], 1, false, true))
                        {
                            member.resultHeroine.SetValueAndForceNotify(new SaveData.Heroine(chaFileControl, false));

                            //Load the second female
                            ChaFileControl chaFileControl2 = new ChaFileControl();
                            if (list.Count >= 2 && chaFileControl2.LoadCharaFile(list[1], 1, false, true))
                            {
                                member.resultPartner.SetValueAndForceNotify(new SaveData.Heroine(chaFileControl2, false));
                            }
                        }

                        //Load the male card, if allowed
                        if (RandomMale.Value)
                        {
                            folderAssist = new FolderAssist();
                            folderAssist.CreateFolderInfoEx(Path.Combine(UserData.Path, "chara/male/"), new string[] { "*.png" }, true);
                            list = (from n in folderAssist.lstFile.Shuffle() select n.FullPath).ToList();

                            if (list.Count == 0)
                            {
                                return;
                            }

                            ChaFileControl chaFileControlMale = new ChaFileControl();
                            if (chaFileControlMale.LoadCharaFile(list[1], 0, false, true))
                            {
                                member.resultPlayer.SetValueAndForceNotify(new SaveData.Player(chaFileControlMale, false));
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Log(LogLevel.Error, "Error in KK_FreeHRandom");
                Logger.Log(LogLevel.Error, ex);
            }
        }
Beispiel #8
0
 private static void TitleStart(FreeHScene __instance, ref IEnumerator __result)
 {
     __result = __result.AppendCo(HSceneInput(__instance));
 }