static void Invoke(HashSet <SubscriptionBundle> bundles, Action <SubscriptionBundle> act) { if (dump.Count > 0) { foreach (SubscriptionBundle bundle in dump) { UnsubscribeInternal(bundle); } dump.Clear(); } foreach (SubscriptionBundle bundle in bundles) { try { act(bundle); } catch (Exception err) { Unsubscribe(bundle); CareBairPackage.LogError(bundle.source, $"{err.Source} {err.Message} {err.StackTrace}"); } } }
public static void Awake(ConfigFile Config) { Enabled = Config.Bind(SECTION, "#1是否启用", false, DESCRIPTION_ENABLED); WindowID = Config.Bind(SECTION, "#2Window ID", 12087); OrgasmPlayer = Config.Bind(SECTION, /* "Minimum O****m Player"*/ "01.玩家最低高潮阈值", 80, new ConfigDescription(DESCRIPTION_ORGASM_PLAYER, new AcceptableValueRange <int>(0, 100))); OrgasmPartner = Config.Bind(SECTION, /*"Minimum O****m Partner" */ "02.伴侣最低高潮阈值", 80, new ConfigDescription(DESCRIPTION_ORGASM_PARTNER, new AcceptableValueRange <int>(0, 100))); OrgasmBoth = Config.Bind(SECTION, /* "Minimum O****m Both" */ "03.两人最低高潮阈值", 70, new ConfigDescription(DESCRIPTION_ORGASM_BOTH, new AcceptableValueRange <int>(0, 100))); InsideChance = Config.Bind(SECTION, /* "Inside Chance"*/ "04.内射机率", 80, new ConfigDescription(DESCRIPTION_INSIDE_CHANCE, new AcceptableValueRange <int>(0, 100))); DrinkChance = Config.Bind(SECTION, /* "Drink Chance" */ "05.吞精概率", 40, new ConfigDescription(DESCRIPTION_DRINK_CHANCE, new AcceptableValueRange <int>(0, 100))); MouthChance = Config.Bind(SECTION, /* "Mouth Chance" */ "06.嘴接精的概率", 40, new ConfigDescription(DESCRIPTION_MOUTH_CHANCE, new AcceptableValueRange <int>(0, 100))); WakeChance = Config.Bind(SECTION, /* "Wake Up Chance" */ "08.苏醒概率", 50, new ConfigDescription(DESCRIPTION_WAKE_UP_CHANCE, new AcceptableValueRange <int>(0, 100))); WakeRate = Config.Bind(SECTION, /*"Wake Up Rate" */ "09.快感和苏醒概率比值", 50, new ConfigDescription(DESCRIPTION_WAKE_RATE, new AcceptableValueRange <int>(0, 100))); WakeDecay = Config.Bind(SECTION, /*"Wake Decay Rate" */ "11.苏醒衰退概率", 5, new ConfigDescription(DESCRIPTION_WAKE_DECAY, new AcceptableValueRange <int>(0, 100)));; WakeDisplay = Config.Bind(SECTION, /*"Display Wake Up Chance" */ "10.快感值降低时苏醒概率降低", true, DESCRIPTION_WAKE_DECAY); ChangeSleepSex = Config.Bind(SECTION, /*"Change Sleep Sex"*/ "07.快感值和苏醒概率有关", false, DESCRIPTION_CHANGE_SLEEP_SEX); CareBairPackage.InitSetting(OrgasmPlayer, () => playerMeter = OrgasmPlayer.Value / 100f); CareBairPackage.InitSetting(OrgasmPartner, () => partnerMeter = OrgasmPartner.Value / 100f); CareBairPackage.InitSetting(OrgasmBoth, () => bothMeter = OrgasmBoth.Value / 100f); CareBairPackage.InitSetting(InsideChance, () => insideChance = InsideChance.Value / 100f); CareBairPackage.InitSetting(DrinkChance, () => drinkChance = DrinkChance.Value / 100f); CareBairPackage.InitSetting(MouthChance, () => mouthChance = MouthChance.Value / 100f); CareBairPackage.InitSetting(WakeRate, () => wakeRate = WakeRate.Value / 100f); Subscription.Subscribe(typeof(HOverhaul), Enabled, onGUI: OnGUI, patch: true); }
public static void Awake(ConfigFile Config) { Enabled = Config.Bind(SECTION, "__Enabled", false, DESCRIPTION_ENABLED); WindowID = Config.Bind(SECTION, "__Window ID", 12087); OrgasmPlayer = Config.Bind(SECTION, "Minimum O****m Player", 80, new ConfigDescription(DESCRIPTION_ORGASM_PLAYER, new AcceptableValueRange <int>(0, 100))); OrgasmPartner = Config.Bind(SECTION, "Minimum O****m Partner", 80, new ConfigDescription(DESCRIPTION_ORGASM_PARTNER, new AcceptableValueRange <int>(0, 100))); OrgasmBoth = Config.Bind(SECTION, "Minimum O****m Both", 70, new ConfigDescription(DESCRIPTION_ORGASM_BOTH, new AcceptableValueRange <int>(0, 100))); InsideChance = Config.Bind(SECTION, "Inside Chance", 80, new ConfigDescription(DESCRIPTION_INSIDE_CHANCE, new AcceptableValueRange <int>(0, 100))); DrinkChance = Config.Bind(SECTION, "Drink Chance", 40, new ConfigDescription(DESCRIPTION_DRINK_CHANCE, new AcceptableValueRange <int>(0, 100))); MouthChance = Config.Bind(SECTION, "Mouth Chance", 40, new ConfigDescription(DESCRIPTION_MOUTH_CHANCE, new AcceptableValueRange <int>(0, 100))); WakeChance = Config.Bind(SECTION, "Wake Up Chance", 50, new ConfigDescription(DESCRIPTION_WAKE_UP_CHANCE, new AcceptableValueRange <int>(0, 100))); WakeRate = Config.Bind(SECTION, "Wake Up Rate", 50, new ConfigDescription(DESCRIPTION_WAKE_RATE, new AcceptableValueRange <int>(0, 100))); WakeDecay = Config.Bind(SECTION, "Wake Decay Rate", 5, new ConfigDescription(DESCRIPTION_WAKE_DECAY, new AcceptableValueRange <int>(0, 100)));; WakeDisplay = Config.Bind(SECTION, "Display Wake Up Chance", true); ChangeSleepSex = Config.Bind(SECTION, "Change Sleep Sex", false, DESCRIPTION_CHANGE_SLEEP_SEX); CareBairPackage.InitSetting(OrgasmPlayer, () => playerMeter = OrgasmPlayer.Value / 100f); CareBairPackage.InitSetting(OrgasmPartner, () => partnerMeter = OrgasmPartner.Value / 100f); CareBairPackage.InitSetting(OrgasmBoth, () => bothMeter = OrgasmBoth.Value / 100f); CareBairPackage.InitSetting(InsideChance, () => insideChance = InsideChance.Value / 100f); CareBairPackage.InitSetting(DrinkChance, () => drinkChance = DrinkChance.Value / 100f); CareBairPackage.InitSetting(MouthChance, () => mouthChance = MouthChance.Value / 100f); CareBairPackage.InitSetting(WakeRate, () => wakeRate = WakeRate.Value / 100f); Subscription.Subscribe(typeof(HOverhaul), Enabled, onGUI: OnGUI, patch: true); }
public static SubscriptionBundle Subscribe(Type source, ConfigEntry <bool> entry, SubscriptionHook update = null, SubscriptionHook lateUpdate = null, SubscriptionHook onGUI = null, bool patch = false) { SubscriptionBundle bundle = new SubscriptionBundle(source, update, lateUpdate, onGUI, patch); CareBairPackage.InitSetting(entry, () => { if (entry.Value) { Subscribe(bundle); } else { Unsubscribe(bundle); } }); return(bundle); }