using 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 BepInEx.Logging;
using HarmonyLib;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("DspFontPatcher")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("DspFontPatcher")]
[assembly: AssemblyCopyright("Copyright © 2021")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("81DF3045-8007-4F6A-AAF6-903139D85B6C")]
[assembly: AssemblyFileVersion("0.1.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("0.1.0.0")]
namespace DSPHideEverything;
internal class Event
{
public static void OnDroneButtonClick()
{
Main.disableLogisticDrones.Value = !Main.disableLogisticDrones.Value;
GameMain.mainPlayer.factoryModel.disableLogisticDrones = Main.disableLogisticDrones.Value;
UI.DroneButton.GetComponent<UIButton>().highlighted = !Main.disableLogisticDrones.Value;
}
public static void OnVesselButtonClick()
{
Main.disableShips.Value = !Main.disableShips.Value;
UI.VesselButton.GetComponent<UIButton>().highlighted = !Main.disableShips.Value;
}
public static void OnSphereButtonClick()
{
Main.disableDysonSphere.Value = !Main.disableDysonSphere.Value;
UI.SphereButton.GetComponent<UIButton>().highlighted = !Main.disableDysonSphere.Value;
}
public static void OnPrebuildButtonClick()
{
Main.disablePreBuild.Value = !Main.disablePreBuild.Value;
GameMain.gpuiManager.renderPrebuild = !Main.disablePreBuild.Value;
UI.PrebuildButton.GetComponent<UIButton>().highlighted = !Main.disablePreBuild.Value;
}
public static void OnVegetableButtonClick()
{
Main.disableVegetable.Value = !Main.disableVegetable.Value;
UI.VegetableButton.GetComponent<UIButton>().highlighted = !Main.disableVegetable.Value;
}
public static void OnBuildingButtonClick()
{
Main.disableBuilding.Value = !Main.disableBuilding.Value;
GameMain.mainPlayer.factoryModel.disableTraffics = Main.disableBuilding.Value;
GameMain.gpuiManager.renderEntity = !Main.disableBuilding.Value;
UI.BuildingButton.GetComponent<UIButton>().highlighted = !Main.disableBuilding.Value;
}
public static void OnMiniMapClick()
{
Main.disableMiniMap.Value = !Main.disableMiniMap.Value;
UI.MiniMapButton.GetComponent<UIButton>().highlighted = !Main.disableMiniMap.Value;
}
public static void OnCargoButtonClick()
{
Main.disableCargoes.Value = !Main.disableCargoes.Value;
GameMain.mainPlayer.factoryModel.disableCargos = Main.disableCargoes.Value;
UI.CargoButton.GetComponent<UIButton>().highlighted = !Main.disableCargoes.Value;
}
}
public class LogManager
{
public static ManualLogSource Logger;
}
[BepInPlugin("Appun.DSP.plugin.HideEverything", "DSPHideEverything", "0.1.3")]
[BepInProcess("DSPGAME.exe")]
public class Main : BaseUnityPlugin
{
public static ConfigEntry<bool> disableLogisticDrones;
public static ConfigEntry<bool> disableShips;
public static ConfigEntry<bool> disableDysonSphere;
public static ConfigEntry<bool> disablePreBuild;
public static ConfigEntry<bool> disableVegetable;
public static ConfigEntry<bool> disableBuilding;
public static ConfigEntry<bool> disableMiniMap;
public static ConfigEntry<bool> disableCargoes;
public static ConfigEntry<bool> disableLogisticsBot;
public void Start()
{
LogManager.Logger = ((BaseUnityPlugin)this).Logger;
Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), (string)null);
disableLogisticDrones = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disableLogisticDrones", false, "hide Logistic Drones");
disableShips = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disableShips", false, "hide Logistic Vessels");
disableDysonSphere = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disableDysonSphere", false, "hide Dyson Sphere");
disablePreBuild = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disablePreBuild", false, "hide Pre Build View");
disableVegetable = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disableTreeAndRock", false, "hide Tree & Rock");
disableBuilding = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disableBuilding", false, "hide Buildings & Conveyor Belts");
disableCargoes = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disableCargo", false, "hide Cargoes");
disableLogisticsBot = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "disableLogisticsBot", true, "hide Logistics Bot ");
UI.LoadIcon();
UI.Create();
PowerSystemRenderer.forceArcsOff = !PowerSystemRenderer.powerGraphOn;
}
}
[HarmonyPatch]
internal class HarmonyPatches
{
[HarmonyPrefix]
[HarmonyPatch(typeof(LogisticCourierRenderer), "Draw")]
[HarmonyPatch(typeof(LogisticCourierRenderer), "SetCapacity")]
[HarmonyPatch(typeof(LogisticCourierRenderer), "Update")]
public static bool LogisticCourierRenderer_Update_PrePatch(LogisticCourierRenderer __instance)
{
if (GameMain.isRunning && Main.disableLogisticsBot.Value && !((ManualBehaviour)UIRoot.instance.uiGame.dysonEditor).active)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(MeshDataRenderer), "Update")]
public static bool MeshDataRenderer_Update_PrePatch(MeshDataRenderer __instance)
{
if (GameMain.isRunning && Main.disablePreBuild.Value && !((ManualBehaviour)UIRoot.instance.uiGame.dysonEditor).active)
{
__instance.castShadows = false;
__instance.receiveShadows = false;
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(ConnGizmoRenderer), "Draw")]
[HarmonyPatch(typeof(ConnGizmoRenderer), "Update")]
public static bool ConnGizmoRenderer_Render_PrePatch()
{
if (GameMain.isRunning && Main.disablePreBuild.Value && !((ManualBehaviour)UIRoot.instance.uiGame.dysonEditor).active)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(VegeRenderer), "Render")]
[HarmonyPatch(typeof(VegeRenderer), "SetInstCapacity")]
[HarmonyPatch(typeof(VegeRenderer), "SyncInstBuffer")]
public static bool VegeRenderer_PrePatch()
{
if (GameMain.isRunning && Main.disableVegetable.Value)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(DysonSphere), "DrawModel")]
[HarmonyPatch(typeof(DysonSphere), "DrawPost")]
[HarmonyPatch(typeof(DysonSphere), "UpdateProgress", new Type[] { typeof(DysonNode) })]
[HarmonyPatch(typeof(DysonSphere), "UpdateProgress", new Type[] { typeof(DysonFrame) })]
[HarmonyPatch(typeof(DysonSphere), "UpdateStates", new Type[]
{
typeof(DysonNode),
typeof(uint),
typeof(bool),
typeof(bool)
})]
[HarmonyPatch(typeof(DysonSphere), "UpdateStates", new Type[]
{
typeof(DysonFrame),
typeof(uint),
typeof(bool),
typeof(bool)
})]
[HarmonyPatch(typeof(DysonSphere), "UpdateStates", new Type[]
{
typeof(DysonShell),
typeof(uint),
typeof(bool),
typeof(bool)
})]
public static bool DysonSphere_PrePatch()
{
if (GameMain.isRunning && Main.disableDysonSphere.Value && !((ManualBehaviour)UIRoot.instance.uiGame.dysonEditor).active)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(DysonSwarm), "DrawModel")]
[HarmonyPatch(typeof(DysonSwarm), "GameTick")]
public static bool DysonSwarm_PrePatch()
{
if (GameMain.isRunning && Main.disableDysonSphere.Value && !((ManualBehaviour)UIRoot.instance.uiGame.dysonEditor).active)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(DysonSphereSegmentRenderer), "DrawFrameMesh")]
[HarmonyPatch(typeof(DysonSphereSegmentRenderer), "DrawModels")]
[HarmonyPatch(typeof(DysonSphereSegmentRenderer), "DrawNodeMesh")]
[HarmonyPatch(typeof(DysonSphereSegmentRenderer), "RebuildModels")]
[HarmonyPatch(typeof(DysonSphereSegmentRenderer), "LoadStatic")]
[HarmonyPatch(typeof(DysonSphereSegmentRenderer), "RebuildModels")]
public static bool DysonSphereSegmentRenderer_PrePatch()
{
if (GameMain.isRunning && Main.disableDysonSphere.Value && !((ManualBehaviour)UIRoot.instance.uiGame.dysonEditor).active)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(DysonRocketRenderer), "Draw")]
[HarmonyPatch(typeof(DysonRocketRenderer), "SetCapacity")]
[HarmonyPatch(typeof(DysonRocketRenderer), "Update")]
public static bool DysonRocketRenderer_PrePatch()
{
if (GameMain.isRunning && Main.disableDysonSphere.Value && !((ManualBehaviour)UIRoot.instance.uiGame.dysonEditor).active)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(LogisticDroneRenderer), "Draw")]
[HarmonyPatch(typeof(LogisticDroneRenderer), "SetCapacity")]
[HarmonyPatch(typeof(LogisticDroneRenderer), "Update")]
public static bool LogisticDroneRenderer_Draw_PrePatch()
{
if (GameMain.isRunning && Main.disableLogisticDrones.Value)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(LogisticShipRenderer), "Draw")]
[HarmonyPatch(typeof(LogisticShipRenderer), "SetCapacity")]
[HarmonyPatch(typeof(LogisticShipRenderer), "Update")]
[HarmonyPatch(typeof(LogisticShipUIRenderer), "Draw")]
[HarmonyPatch(typeof(LogisticShipUIRenderer), "SetCapacity")]
[HarmonyPatch(typeof(LogisticShipUIRenderer), "Update")]
public static bool LogisticShipRenderer_Draw_PrePatch()
{
if (GameMain.isRunning && Main.disableShips.Value)
{
return false;
}
return true;
}
[HarmonyPrefix]
[HarmonyPatch(typeof(UISpaceGuide), "CheckVisible")]
[HarmonyPatch(typeof(UISpaceGuide), "SetEntry")]
[HarmonyPatch(typeof(UISpaceGuide), "_OnLateUpdate")]
public static bool UISpaceGuider_OnLateUpdate_PrePatch()
{
if (GameMain.isRunning && Main.disableShips.Value)
{
return false;
}
return true;
}
}
internal class UI : MonoBehaviour
{
public static GameObject DroneButton;
public static GameObject VesselButton;
public static GameObject SphereButton;
public static GameObject PrebuildButton;
public static GameObject VegetableButton;
public static GameObject BuildingButton;
public static GameObject MiniMapButton;
public static GameObject CargoButton;
public static Sprite DroneIcon;
public static Sprite VesselIcon;
public static Sprite SphereIcon;
public static Sprite PrebuildIcon;
public static Sprite VegetableIcon;
public static Sprite BuildingIcon;
public static Sprite CargoIcon;
public static Sprite MiniMapIcon;
public static void LoadIcon()
{
try
{
AssetBundle val = AssetBundle.LoadFromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("DSPHideEverything.hideeverythingicon"));
if ((Object)(object)val == (Object)null)
{
LogManager.Logger.LogInfo((object)"Icon loaded.");
return;
}
DroneIcon = val.LoadAsset<Sprite>("drone");
VesselIcon = val.LoadAsset<Sprite>("vessel");
PrebuildIcon = val.LoadAsset<Sprite>("BuildPreview");
SphereIcon = val.LoadAsset<Sprite>("dysonsphere");
VegetableIcon = val.LoadAsset<Sprite>("Vegitable");
BuildingIcon = val.LoadAsset<Sprite>("Building");
CargoIcon = val.LoadAsset<Sprite>("cargo 1");
MiniMapIcon = val.LoadAsset<Sprite>("Belt");
val.Unload(false);
}
catch (Exception ex)
{
LogManager.Logger.LogInfo((object)("e.Message " + ex.Message));
LogManager.Logger.LogInfo((object)("e.StackTrace " + ex.StackTrace));
}
}
public static void Create()
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0071: Unknown result type (might be due to invalid IL or missing references)
//IL_0113: Unknown result type (might be due to invalid IL or missing references)
//IL_011d: Expected O, but got Unknown
//IL_016a: Unknown result type (might be due to invalid IL or missing references)
//IL_020c: Unknown result type (might be due to invalid IL or missing references)
//IL_0216: Expected O, but got Unknown
//IL_0263: Unknown result type (might be due to invalid IL or missing references)
//IL_0305: Unknown result type (might be due to invalid IL or missing references)
//IL_030f: Expected O, but got Unknown
//IL_035c: Unknown result type (might be due to invalid IL or missing references)
//IL_03fe: Unknown result type (might be due to invalid IL or missing references)
//IL_0408: Expected O, but got Unknown
//IL_0455: Unknown result type (might be due to invalid IL or missing references)
//IL_04f7: Unknown result type (might be due to invalid IL or missing references)
//IL_0501: Expected O, but got Unknown
//IL_054e: Unknown result type (might be due to invalid IL or missing references)
//IL_05f0: Unknown result type (might be due to invalid IL or missing references)
//IL_05fa: Expected O, but got Unknown
//IL_0647: Unknown result type (might be due to invalid IL or missing references)
//IL_06e9: Unknown result type (might be due to invalid IL or missing references)
//IL_06f3: Expected O, but got Unknown
GameObject.Find("UI Root/Overlay Canvas/In Game/Game Menu/detail-func-group").GetComponent<RectTransform>().sizeDelta = new Vector2(350f, 248f);
DroneButton = Object.Instantiate<GameObject>(GameObject.Find("UI Root/Overlay Canvas/In Game/Game Menu/detail-func-group/dfunc-1"), GameObject.Find("UI Root/Overlay Canvas/In Game/Game Menu/detail-func-group").transform);
((Object)DroneButton).name = "DroneButton";
DroneButton.transform.localPosition = new Vector3(-275f, 163f, 0f);
DroneButton.GetComponent<UIButton>().tips.tipTitle = Localization.Translate("Logistic Drones");
DroneButton.GetComponent<UIButton>().tips.tipText = Localization.Translate("Click to turn ON / OFF drawing of Logistic Drones");
((Component)DroneButton.transform.Find("icon")).GetComponent<Image>().sprite = DroneIcon;
DroneButton.GetComponent<UIButton>().highlighted = !Main.disableLogisticDrones.Value;
((UnityEvent)DroneButton.GetComponent<UIButton>().button.onClick).AddListener(new UnityAction(Event.OnDroneButtonClick));
VesselButton = Object.Instantiate<GameObject>(DroneButton.gameObject, DroneButton.transform.parent);
((Object)VesselButton).name = "VesselButton";
VesselButton.transform.localPosition = new Vector3(-235f, 163f, 0f);
VesselButton.GetComponent<UIButton>().tips.tipTitle = Localization.Translate("Logistic Vessels");
VesselButton.GetComponent<UIButton>().tips.tipText = Localization.Translate("Click to turn ON / OFF drawing of Logistic Vessels");
((Component)VesselButton.transform.Find("icon")).GetComponent<Image>().sprite = VesselIcon;
VesselButton.GetComponent<UIButton>().highlighted = !Main.disableShips.Value;
((UnityEvent)VesselButton.GetComponent<UIButton>().button.onClick).AddListener(new UnityAction(Event.OnVesselButtonClick));
PrebuildButton = Object.Instantiate<GameObject>(DroneButton.gameObject, DroneButton.transform.parent);
((Object)PrebuildButton).name = "PrebuildButton";
PrebuildButton.transform.localPosition = new Vector3(-235f, 123f, 0f);
PrebuildButton.GetComponent<UIButton>().tips.tipTitle = Localization.Translate("PreBuildView");
PrebuildButton.GetComponent<UIButton>().tips.tipText = Localization.Translate("Click to turn ON / OFF drawing of PreBuildView");
((Component)PrebuildButton.transform.Find("icon")).GetComponent<Image>().sprite = PrebuildIcon;
PrebuildButton.GetComponent<UIButton>().highlighted = !Main.disablePreBuild.Value;
((UnityEvent)PrebuildButton.GetComponent<UIButton>().button.onClick).AddListener(new UnityAction(Event.OnPrebuildButtonClick));
SphereButton = Object.Instantiate<GameObject>(DroneButton.gameObject, DroneButton.transform.parent);
((Object)SphereButton).name = "SphereButton";
SphereButton.transform.localPosition = new Vector3(-195f, 163f, 0f);
SphereButton.GetComponent<UIButton>().tips.tipTitle = Localization.Translate("Dyson Sphere");
SphereButton.GetComponent<UIButton>().tips.tipText = Localization.Translate("Click to turn ON / OFF drawing of Dyson Sphere");
((Component)SphereButton.transform.Find("icon")).GetComponent<Image>().sprite = SphereIcon;
SphereButton.GetComponent<UIButton>().highlighted = !Main.disableDysonSphere.Value;
((UnityEvent)SphereButton.GetComponent<UIButton>().button.onClick).AddListener(new UnityAction(Event.OnSphereButtonClick));
VegetableButton = Object.Instantiate<GameObject>(DroneButton.gameObject, DroneButton.transform.parent);
((Object)VegetableButton).name = "VegetableButton";
VegetableButton.transform.localPosition = new Vector3(-155f, 163f, 0f);
VegetableButton.GetComponent<UIButton>().tips.tipTitle = Localization.Translate("Trees & Rocks");
VegetableButton.GetComponent<UIButton>().tips.tipText = Localization.Translate("Click to turn ON / OFF drawing of Trees & Rocks");
((Component)VegetableButton.transform.Find("icon")).GetComponent<Image>().sprite = VegetableIcon;
VegetableButton.GetComponent<UIButton>().highlighted = !Main.disableVegetable.Value;
((UnityEvent)VegetableButton.GetComponent<UIButton>().button.onClick).AddListener(new UnityAction(Event.OnVegetableButtonClick));
BuildingButton = Object.Instantiate<GameObject>(DroneButton.gameObject, DroneButton.transform.parent);
((Object)BuildingButton).name = "BuildingButton";
BuildingButton.transform.localPosition = new Vector3(-275f, 123f, 0f);
BuildingButton.GetComponent<UIButton>().tips.tipTitle = Localization.Translate("Buildings & Conveyor Belts");
BuildingButton.GetComponent<UIButton>().tips.tipText = Localization.Translate("Click to turn ON / OFF drawing of Buildings & Conveyor Belts");
((Component)BuildingButton.transform.Find("icon")).GetComponent<Image>().sprite = BuildingIcon;
BuildingButton.GetComponent<UIButton>().highlighted = !Main.disableBuilding.Value;
((UnityEvent)BuildingButton.GetComponent<UIButton>().button.onClick).AddListener(new UnityAction(Event.OnBuildingButtonClick));
CargoButton = Object.Instantiate<GameObject>(DroneButton.gameObject, DroneButton.transform.parent);
((Object)CargoButton).name = "CargoButton";
CargoButton.transform.localPosition = new Vector3(-155f, 123f, 0f);
CargoButton.GetComponent<UIButton>().tips.tipTitle = Localization.Translate("Cargoes");
CargoButton.GetComponent<UIButton>().tips.tipText = Localization.Translate("Click to turn ON / OFF drawing of Cargoes");
((Component)CargoButton.transform.Find("icon")).GetComponent<Image>().sprite = CargoIcon;
CargoButton.GetComponent<UIButton>().highlighted = !Main.disableCargoes.Value;
((UnityEvent)CargoButton.GetComponent<UIButton>().button.onClick).AddListener(new UnityAction(Event.OnCargoButtonClick));
}
}