private static void InitUltraFastMode() { MethodInfo source = typeof(RimWorld.TimeControls).GetMethod("DoTimeControlsGUI", BindingFlags.Static | BindingFlags.Public); MethodInfo dest = typeof(Detouring.TimeControls).GetMethod("DoTimeControlsGUI", BindingFlags.Static | BindingFlags.Public); Detour.TryDetourFromTo(source, dest); }
private static void InitEventSpeedControl() { MethodInfo source = typeof(Verse.TickManager).GetProperty("TickRateMultiplier", BindingFlags.Instance | BindingFlags.Public).GetGetMethod(); MethodInfo dest = typeof(Detouring.TickManager).GetProperty("TickRateMultiplier", BindingFlags.Instance | BindingFlags.Public).GetGetMethod(); Detour.TryDetourFromTo(source, dest); source = typeof(Detouring.TickManager).GetMethod("NothingHappeningInGame", BindingFlags.Instance | BindingFlags.NonPublic); dest = typeof(Verse.TickManager).GetMethod("NothingHappeningInGame", BindingFlags.Instance | BindingFlags.NonPublic); Detour.TryDetourFromTo(source, dest); }