[F] Skip Event Info

pull/40/head
Clansty 2024-05-26 13:21:03 +08:00
parent bf9197b3e4
commit 2ef8219f15
3 changed files with 5 additions and 29 deletions

View File

@ -26,6 +26,7 @@ namespace AquaMai
public bool RandomBgm { get; set; }
public bool DemoMaster { get; set; }
public bool ExtendTimer { get; set; }
public bool SkipEventInfo { get; set; }
public string CustomVersionString { get; set; }
public string ExecOnIdle { get; set; }
public string ExecOnEntry { get; set; }

View File

@ -1,38 +1,15 @@
using HarmonyLib;
using MelonLoader;
using Monitor.Information;
using UnityEngine.Assertions;
using Process.Information;
namespace AquaMai.UX
{
public class SkipEventInfo
{
// public override void Initialize(int monIndex, bool active)
// Postfix: Set this.state to DispState.End
[HarmonyPostfix]
[HarmonyPatch(typeof(InformationMonitor), "Initialize", new []{typeof(int), typeof(bool)})]
public static void Initialize(InformationMonitor __instance, int monIndex, bool active)
[HarmonyPatch(typeof(InformationProcess), "OnStart")]
public static void InformationProcessPreStart(ref uint ____state)
{
// State is private, cannot access directly
// __instance.state = InformationMonitor.DispState.End;
// Use reflection to set the state
// var stateField = typeof(InformationMonitor).GetField("state", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
// if (stateField == null)
// {
// MelonLogger.Msg("Failed to get state field");
// return;
// }
// stateField.SetValue(__instance, InformationMonitor.DispState.End);
// Use reflection to set _dispTime to 0
var dispTimeField = typeof(InformationMonitor).GetField("_dispTime", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
if (dispTimeField == null)
{
MelonLogger.Msg("Failed to get _dispTime field");
return;
}
dispTimeField.SetValue(__instance, 0);
____state = 3;
}
}
}

View File

@ -1,8 +1,6 @@
using HarmonyLib;
using MAI2.Util;
using Manager;
using Manager.UserDatas;
using MelonLoader;
using Monitor;
using Process;
using Process.Information;