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); }
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(); }); }
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); }
private static void FixDiscoveryLogic(FreeHScene __instance) { __instance.tglDiscoverySafeMasturbation.isOn = !__instance.discovery; __instance.tglDiscoveryOutMasturbation.isOn = __instance.discovery; }
private static void FreeHStart(FreeHScene __instance) { plugin.StartCoroutine(coroutineTest(__instance)); }
private static void PostFixFreeHSceneStart(FreeHScene __instance) { ConsoleLog("attempting start"); inMapScreen = true; }
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); } }
private static void TitleStart(FreeHScene __instance, ref IEnumerator __result) { __result = __result.AppendCo(HSceneInput(__instance)); }