Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of BiggerMinimapDiscoveryRadius v3.6.17
BiggerMinimapDiscoveryRadius.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("BiggerMinimapDiscoveryRadius")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("BiggerMinimapDiscoveryRadius")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("b347f62d-b22e-48ac-b439-d690130f2e47")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace BiggerMinimapDiscoveryRadius; [HarmonyPatch(typeof(Minimap), "Explore", new Type[] { typeof(Vector3), typeof(float) })] public class MinimapDiscoveryRadiusMod { public const string Old_OnFootSaveNameKey = "MinimapDiscoveryRadiusMod"; public const string OnFootSaveNameKey = "MinimapDiscoveryRadiusOnFootMod"; public const string OnBoatSaveNameKey = "MinimapDiscoveryRadiusOnBoatMod"; public const string WeatherEnabledSaveNameKey = "MinimapDiscoveryRadiusWeatherEnabled"; public const string TimeEnabledSaveNameKey = "MinimapDiscoveryRadiusTimeEnabled"; public static void Prefix(ref Vector3 p, ref float radius) { radius = radius * GetLocomotionModifier() * GetWeatherModifier() * GetTimeOfDayModifier(); } public static float GetLocomotionModifier() { if (PlayerIsOnControlledBoat()) { return GetLocomotionOnBoatModifier(); } return GetLocomotionOnFootModifier(); } public static float GetLocomotionOnFootModifier() { int @int = PlayerPrefs.GetInt("MinimapDiscoveryRadiusMod", 0); if (@int != 0) { PlayerPrefs.SetInt("MinimapDiscoveryRadiusOnFootMod", @int); PlayerPrefs.SetInt("MinimapDiscoveryRadiusMod", 0); } return PlayerPrefs.GetInt("MinimapDiscoveryRadiusOnFootMod", 0) switch { 1 => 2f, 2 => 3f, 3 => 5f, _ => 1f, }; } public static float GetLocomotionOnBoatModifier() { return PlayerPrefs.GetInt("MinimapDiscoveryRadiusOnBoatMod", 3) switch { 0 => GetLocomotionOnFootModifier(), 1 => 2f, 2 => 3f, 3 => 5f, 4 => 7f, 5 => 10f, _ => 1f, }; } public static bool PlayerIsOnControlledBoat() { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)Player.m_localPlayer)) { return false; } if (((Character)Player.m_localPlayer).IsAttachedToShip() || Object.op_Implicit((Object)(object)Player.m_localPlayer.GetControlledShip())) { return true; } Vector3 position = ((Component)Player.m_localPlayer).transform.position; foreach (Player allPlayer in Player.GetAllPlayers()) { if (!((Object)(object)allPlayer == (Object)(object)Player.m_localPlayer) && (((Character)allPlayer).IsAttachedToShip() || Object.op_Implicit((Object)(object)allPlayer.GetControlledShip()))) { Vector3 val = ((Component)allPlayer).transform.position - position; if (!(((Vector3)(ref val)).sqrMagnitude > 20f)) { return true; } } } return false; } public static float GetWeatherModifier() { if (PlayerPrefs.GetInt("MinimapDiscoveryRadiusWeatherEnabled", 0) == 0) { return 1f; } switch (EnvMan.instance.GetCurrentEnvironment().m_name) { case "Rain": case "LightRain": case "SwampRain": case "Ashrain": return PluginEntryPoint.GetConfigWeatherModifierInRain(); case "Misty": case "DeepForest Mist": return PluginEntryPoint.GetConfigWeatherModifierInMist(); case "Snow": case "Twilight_Snow": return PluginEntryPoint.GetConfigWeatherModifierInSnow(); case "ThunderStorm": case "SnowStorm": case "Twilight_SnowStorm": return PluginEntryPoint.GetConfigWeatherModifierInStorm(); case "Darklands_dark": return PluginEntryPoint.GetConfigWeatherModifierInDarklands(); default: return 1f; } } public static float GetTimeOfDayModifier() { if (PlayerPrefs.GetInt("MinimapDiscoveryRadiusTimeEnabled", 0) == 0) { return 1f; } float num = 1f; float configTimeModifierDuringNight = PluginEntryPoint.GetConfigTimeModifierDuringNight(); float dayFraction = EnvMan.instance.GetDayFraction(); if (dayFraction >= 0.2f && dayFraction <= 0.3f) { return Mathf.Lerp(configTimeModifierDuringNight, num, (dayFraction - 0.2f) / 0.1f); } if (dayFraction >= 0.7f && dayFraction <= 0.8f) { return Mathf.Lerp(num, configTimeModifierDuringNight, (dayFraction - 0.7f) / 0.1f); } if (dayFraction >= 0.25f && dayFraction <= 0.75f) { return num; } return configTimeModifierDuringNight; } } [BepInPlugin("org.bepinex.plugins.tenson.biggerminimapdiscoveryradius", "Bigger Minimap Discovery Radius", "3.6.17.0")] public class PluginEntryPoint : BaseUnityPlugin { public const string ModVersion = "3.6.17.0"; private static ConfigEntry<float> s_ConfigWeatherModifierRain; private static ConfigEntry<float> s_ConfigWeatherModifierMist; private static ConfigEntry<float> s_ConfigWeatherModifierSnow; private static ConfigEntry<float> s_ConfigWeatherModifierStorm; private static ConfigEntry<float> s_ConfigWeatherModifierDarklands; private static ConfigEntry<float> s_ConfigTimeModifierNight; public static float GetConfigWeatherModifierInRain() { return Mathf.Clamp01(s_ConfigWeatherModifierRain.Value); } public static float GetConfigWeatherModifierInMist() { return Mathf.Clamp01(s_ConfigWeatherModifierMist.Value); } public static float GetConfigWeatherModifierInSnow() { return Mathf.Clamp01(s_ConfigWeatherModifierSnow.Value); } public static float GetConfigWeatherModifierInStorm() { return Mathf.Clamp01(s_ConfigWeatherModifierStorm.Value); } public static float GetConfigWeatherModifierInDarklands() { return Mathf.Clamp01(s_ConfigWeatherModifierDarklands.Value); } public static float GetConfigTimeModifierDuringNight() { return Mathf.Clamp01(s_ConfigTimeModifierNight.Value); } private void Start() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) if (Harmony.HasAnyPatches("plugins.tenson.modpack")) { ((BaseUnityPlugin)this).Logger.LogInfo((object)"Ten'son's Mod Pack present, no need for this mod to initialize."); return; } new Harmony("plugins.tenson.biggerminimapdiscoveryradius").PatchAll(); s_ConfigWeatherModifierRain = ((BaseUnityPlugin)this).Config.Bind<float>("Weather Modifiers", "rain", 0.8f, "Discovery radius modifier in rain."); s_ConfigWeatherModifierMist = ((BaseUnityPlugin)this).Config.Bind<float>("Weather Modifiers", "mist", 0.8f, "Discovery radius modifier in mist."); s_ConfigWeatherModifierSnow = ((BaseUnityPlugin)this).Config.Bind<float>("Weather Modifiers", "snow", 0.8f, "Discovery radius modifier in snow."); s_ConfigWeatherModifierStorm = ((BaseUnityPlugin)this).Config.Bind<float>("Weather Modifiers", "storm", 0.7f, "Discovery radius modifier in storm."); s_ConfigWeatherModifierDarklands = ((BaseUnityPlugin)this).Config.Bind<float>("Weather Modifiers", "darklands", 0.8f, "Discovery radius modifier in darklands."); s_ConfigTimeModifierNight = ((BaseUnityPlugin)this).Config.Bind<float>("Time Modifiers", "night", 0.8f, "Discovery radius modifier during the night."); } } [HarmonyPatch(typeof(Settings), "Awake")] public class SettingsMenuUIPatch { public static void Postfix(Settings __instance) { Debug.Log((object)"Injecting Bigger Minimap Discovery Radius Mod UI..."); CreateModsButton(((Component)__instance).transform.parent); } private static void CreateModsButton(Transform transform) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown CreateTopRightButton(transform, "ModsButton", "MOD", Color.white, Color.black, new Vector2(500f, 100f), new UnityAction(OnModsButtonClicked)); } public static void DestroyModsButton() { GameObject val = GameObject.Find("ModsButton"); if (Object.op_Implicit((Object)(object)val)) { Object.Destroy((Object)(object)val); } } private static Button CreateTopRightButton(Transform _parent, string _buttonName, string _text, Color _imageColor, Color _textColor, Vector2 _buttonSize, UnityAction _actionOnClick) { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Expected O, but got Unknown //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Expected O, but got Unknown GameObject val = new GameObject(_buttonName, new Type[3] { typeof(RectTransform), typeof(Image), typeof(Button) }); val.transform.SetParent(_parent); RectTransform component = val.GetComponent<RectTransform>(); component.anchorMin = new Vector2(1f, 1f); component.anchorMax = new Vector2(1f, 1f); component.pivot = new Vector2(1f, 1f); component.anchoredPosition = new Vector2(0f, 0f); component.sizeDelta = _buttonSize; Button component2 = val.GetComponent<Button>(); ((Selectable)component2).interactable = true; if (_actionOnClick != null) { ((UnityEvent)component2.onClick).AddListener(_actionOnClick); } ((Graphic)val.GetComponent<Image>()).color = _imageColor; GameObject val2 = new GameObject(_buttonName + "Text", new Type[2] { typeof(RectTransform), typeof(Text) }); val2.transform.SetParent(val.transform); RectTransform component3 = val2.GetComponent<RectTransform>(); component3.anchorMin = new Vector2(0f, 0f); component3.anchorMax = new Vector2(1f, 1f); component3.pivot = new Vector2(0.5f, 0.5f); component3.anchoredPosition = new Vector2(0f, 0f); component3.sizeDelta = new Vector2(0f, 0f); Text component4 = val2.GetComponent<Text>(); ((Graphic)component4).color = _textColor; component4.resizeTextForBestFit = true; component4.resizeTextMaxSize = 72; component4.alignment = (TextAnchor)4; component4.text = _text; Font val4 = (component4.font = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf")); ((Graphic)component4).material = val4.material; return component2; } private static Text CreateTextComponent(Transform _parent, string _textName, string _text, TextAnchor _textAnchor, Color _textColor) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Expected O, but got Unknown GameObject val = new GameObject(_textName, new Type[2] { typeof(RectTransform), typeof(Text) }); val.transform.SetParent(_parent); RectTransform component = val.GetComponent<RectTransform>(); component.anchorMin = new Vector2(0f, 1f); component.anchorMax = new Vector2(1f, 1f); component.pivot = new Vector2(0.5f, 1f); component.anchoredPosition = new Vector2(0f, 0f); component.sizeDelta = new Vector2(0f, 60f); Text component2 = val.GetComponent<Text>(); ((Graphic)component2).color = _textColor; component2.resizeTextForBestFit = true; component2.resizeTextMaxSize = 72; component2.alignment = _textAnchor; component2.text = _text; Font val3 = (component2.font = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf")); ((Graphic)component2).material = val3.material; return component2; } private static void OnModsButtonClicked() { //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Expected O, but got Unknown //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Expected O, but got Unknown //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Expected O, but got Unknown //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Expected O, but got Unknown //IL_0287: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) //IL_03e6: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_0406: Unknown result type (might be due to invalid IL or missing references) //IL_0410: Expected O, but got Unknown //IL_0515: Unknown result type (might be due to invalid IL or missing references) //IL_051a: Unknown result type (might be due to invalid IL or missing references) //IL_0529: Unknown result type (might be due to invalid IL or missing references) //IL_0535: Unknown result type (might be due to invalid IL or missing references) //IL_053f: Expected O, but got Unknown //IL_0593: Unknown result type (might be due to invalid IL or missing references) //IL_0598: Unknown result type (might be due to invalid IL or missing references) //IL_05a7: Unknown result type (might be due to invalid IL or missing references) //IL_05b4: Unknown result type (might be due to invalid IL or missing references) //IL_05be: Expected O, but got Unknown //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_0617: Unknown result type (might be due to invalid IL or missing references) //IL_0626: Unknown result type (might be due to invalid IL or missing references) //IL_0633: Unknown result type (might be due to invalid IL or missing references) //IL_063d: Expected O, but got Unknown Canvas val = Object.FindObjectsOfType<Canvas>()[0]; Canvas[] array = Object.FindObjectsOfType<Canvas>(); foreach (Canvas val2 in array) { if (((Object)val2).name == "GUI" || ((Object)val2).name.Contains("GUI")) { val = val2; break; } } GameObject val3 = new GameObject("ModsFrame", new Type[2] { typeof(RectTransform), typeof(Image) }); val3.transform.SetParent(((Component)val).transform); RectTransform component = val3.GetComponent<RectTransform>(); component.anchorMin = new Vector2(0f, 0f); component.anchorMax = new Vector2(1f, 1f); component.pivot = new Vector2(0.5f, 0.5f); component.anchoredPosition = new Vector2(0f, 0f); component.sizeDelta = new Vector2(0f, 0f); ((Graphic)val3.GetComponent<Image>()).color = new Color(0f, 0f, 0f, 0.5f); GameObject val4 = new GameObject("ModsDialog", new Type[2] { typeof(RectTransform), typeof(Image) }); val4.transform.SetParent(val3.transform); RectTransform component2 = val4.GetComponent<RectTransform>(); component2.anchorMin = new Vector2(0f, 0f); component2.anchorMax = new Vector2(1f, 1f); component2.pivot = new Vector2(0.5f, 0.5f); component2.anchoredPosition = new Vector2(0f, 0f); component2.sizeDelta = new Vector2(-400f, -400f); ((Graphic)val4.GetComponent<Image>()).color = new Color(0.5283019f, 0.2804001f, 0.1320755f, 1f); CreateTextComponent(val4.transform, "ModVersionText", "Minimap Discovery Radius v3.6.17.0", (TextAnchor)4, Color.black); CreateTopRightButton(val4.transform, "CloseModsDialogButton", "CLOSE", Color.red, Color.white, new Vector2(300f, 60f), new UnityAction(OnCloseModsFrameClicked)); GameObject val5 = new GameObject("ModsList", new Type[1] { typeof(RectTransform) }); val5.transform.SetParent(val4.transform); RectTransform component3 = val5.GetComponent<RectTransform>(); component3.anchorMin = new Vector2(0f, 0f); component3.anchorMax = new Vector2(1f, 1f); component3.pivot = new Vector2(0.5f, 0.5f); component3.anchoredPosition = new Vector2(0f, -30f); component3.sizeDelta = new Vector2(-40f, -80f); int @int = PlayerPrefs.GetInt("MinimapDiscoveryRadiusMod", 0); if (@int != 0) { PlayerPrefs.SetInt("MinimapDiscoveryRadiusOnFootMod", @int); PlayerPrefs.SetInt("MinimapDiscoveryRadiusMod", 0); } string buttonName = "MinimapDiscoveryRadiusOnFootButton"; int int2 = PlayerPrefs.GetInt("MinimapDiscoveryRadiusOnFootMod", 0); string text = ""; for (int j = 0; j < 4; j++) { if (j == int2) { text += "<color=green>"; } switch (j) { case 0: text += "Default"; break; case 1: text += "2x"; break; case 2: text += "3x"; break; case 3: text += "5x"; break; } if (j != 3) { text += ", "; } if (j == int2) { text += "</color>"; } } string text2 = "Minimap Discovery Radius On Foot (" + text + ")"; CreateTopRightButton(val5.transform, buttonName, text2, Color.white, Color.black, new Vector2(800f, 60f), new UnityAction(OnMinimapDiscoveryRadiusOnFootButtonClicked)); string buttonName2 = "MinimapDiscoveryRadiusOnBoatButton"; int int3 = PlayerPrefs.GetInt("MinimapDiscoveryRadiusOnBoatMod", 3); string text3 = ""; for (int k = 0; k < 6; k++) { if (k == int3) { text3 += "<color=green>"; } switch (k) { case 0: text3 += "Same As On Foot"; break; case 1: text3 += "2x"; break; case 2: text3 += "3x"; break; case 3: text3 += "5x"; break; case 4: text3 += "7x"; break; case 5: text3 += "10x"; break; } if (k != 5) { text3 += ", "; } if (k == int3) { text3 += "</color>"; } } string text4 = "Minimap Discovery Radius On Boat (" + text3 + ")"; CreateTopRightButton(val5.transform, buttonName2, text4, Color.white, Color.black, new Vector2(800f, 60f), new UnityAction(OnMinimapDiscoveryRadiusOnBoatButtonClicked)); string modButtonName2 = "MinimapDiscoveryRadiusWeatherButton"; bool num = PlayerPrefs.GetInt("MinimapDiscoveryRadiusWeatherEnabled", 0) == 1; string text5 = "<color=green>Enabled</color>"; if (!num) { text5 = "<color=red>Disabled</color>"; } string text6 = "Weather Affects Discovery Radius (" + text5 + ")"; CreateTopRightButton(val5.transform, modButtonName2, text6, Color.white, Color.black, new Vector2(800f, 60f), (UnityAction)delegate { OnToggleModButtonClicked(modButtonName2, "MinimapDiscoveryRadiusWeatherEnabled", "Weather Affects Discovery Radius"); }); string modButtonName = "MinimapDiscoveryRadiusTimeButton"; bool num2 = PlayerPrefs.GetInt("MinimapDiscoveryRadiusTimeEnabled", 0) == 1; string text7 = "<color=green>Enabled</color>"; if (!num2) { text7 = "<color=red>Disabled</color>"; } string text8 = "Time Of Day Affects Discovery Radius (" + text7 + ")"; CreateTopRightButton(val5.transform, modButtonName, text8, Color.white, Color.black, new Vector2(800f, 60f), (UnityAction)delegate { OnToggleModButtonClicked(modButtonName, "MinimapDiscoveryRadiusTimeEnabled", "Time Of Day Affects Discovery Radius"); }); VerticalLayoutGroup obj = val5.AddComponent<VerticalLayoutGroup>(); ((LayoutGroup)obj).childAlignment = (TextAnchor)1; ((HorizontalOrVerticalLayoutGroup)obj).spacing = 5f; ((HorizontalOrVerticalLayoutGroup)obj).childForceExpandWidth = true; ((HorizontalOrVerticalLayoutGroup)obj).childForceExpandHeight = false; ((HorizontalOrVerticalLayoutGroup)obj).childControlWidth = true; ((HorizontalOrVerticalLayoutGroup)obj).childControlHeight = false; ((HorizontalOrVerticalLayoutGroup)obj).childScaleWidth = false; ((HorizontalOrVerticalLayoutGroup)obj).childScaleHeight = false; } public static void OnCloseModsFrameClicked() { GameObject val = GameObject.Find("ModsFrame"); if (Object.op_Implicit((Object)(object)val)) { Object.Destroy((Object)(object)val); } } private static void OnMinimapDiscoveryRadiusOnFootButtonClicked() { GameObject val = GameObject.Find("MinimapDiscoveryRadiusOnFootButton"); if (!Object.op_Implicit((Object)(object)val)) { return; } int @int = PlayerPrefs.GetInt("MinimapDiscoveryRadiusOnFootMod", 0); @int = (@int + 1) % 4; PlayerPrefs.SetInt("MinimapDiscoveryRadiusOnFootMod", @int); string text = ""; for (int i = 0; i < 4; i++) { if (i == @int) { text += "<color=green>"; } switch (i) { case 0: text += "Default"; break; case 1: text += "2x"; break; case 2: text += "3x"; break; case 3: text += "5x"; break; } if (i != 3) { text += ", "; } if (i == @int) { text += "</color>"; } } val.GetComponentInChildren<Text>().text = "Minimap Discovery Radius On Foot (" + text + ")"; } private static void OnMinimapDiscoveryRadiusOnBoatButtonClicked() { GameObject val = GameObject.Find("MinimapDiscoveryRadiusOnBoatButton"); if (!Object.op_Implicit((Object)(object)val)) { return; } int @int = PlayerPrefs.GetInt("MinimapDiscoveryRadiusOnBoatMod", 3); @int = (@int + 1) % 6; PlayerPrefs.SetInt("MinimapDiscoveryRadiusOnBoatMod", @int); string text = ""; for (int i = 0; i < 6; i++) { if (i == @int) { text += "<color=green>"; } switch (i) { case 0: text += "Same As On Foot"; break; case 1: text += "2x"; break; case 2: text += "3x"; break; case 3: text += "5x"; break; case 4: text += "7x"; break; case 5: text += "10x"; break; } if (i != 5) { text += ", "; } if (i == @int) { text += "</color>"; } } val.GetComponentInChildren<Text>().text = "Minimap Discovery Radius On Boat (" + text + ")"; } private static void OnToggleModButtonClicked(string _modButtonName, string _saveName, string _text) { GameObject val = GameObject.Find(_modButtonName); if (Object.op_Implicit((Object)(object)val)) { bool flag = PlayerPrefs.GetInt(_saveName, 0) == 1; flag = !flag; PlayerPrefs.SetInt(_saveName, flag ? 1 : 0); string text = "<color=green>Enabled</color>"; if (!flag) { text = "<color=red>Disabled</color>"; } val.GetComponentInChildren<Text>().text = _text + " (" + text + ")"; } } } [HarmonyPatch(typeof(Settings), "OnBack")] public class SettingsMenuOnBackPatch { public static bool Prefix() { SettingsMenuUIPatch.OnCloseModsFrameClicked(); SettingsMenuUIPatch.DestroyModsButton(); return true; } } [HarmonyPatch(typeof(Settings), "OnOk")] public class SettingsMenuOnOkPatch { public static bool Prefix() { SettingsMenuUIPatch.OnCloseModsFrameClicked(); SettingsMenuUIPatch.DestroyModsButton(); return true; } }