Decompiled source of NoTelegraphCogwork v1.1.0

NoTelegraphCogwork.dll

Decompiled 2 weeks ago
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.SceneManagement;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("NoTelegraphClockwork")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NoTelegraphClockwork")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("456811a0-3b2f-4025-aa6c-7a2717ec486a")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace NoTelegraphClockwork
{
	[BepInPlugin("com.AquaEther.NoTelegraphCogwork", "NoTelegraphCogwork", "1.0.0")]
	public class NoTelegraphCogworkPlugin : BaseUnityPlugin
	{
		private const string MyGUID = "com.AquaEther.NoTelegraphCogwork";

		private const string PluginName = "NoTelegraphCogwork";

		private const string VersionString = "1.0.0";

		private static readonly Harmony Harmony = new Harmony("com.AquaEther.NoTelegraphCogwork");

		public static ManualLogSource Log = new ManualLogSource("NoTelegraphCogwork");

		public ConfigEntry<bool> clover;

		public ConfigEntry<bool> cogwork;

		public void Awake()
		{
			cogwork = ((BaseUnityPlugin)this).Config.Bind<bool>("Cogwork/Clover Dancer Settings", "Disable Cogwork Telegraphs", true, "");
			clover = ((BaseUnityPlugin)this).Config.Bind<bool>("Cogwork/Clover Dancer Settings", "Disable Clover Telegraphs", true, "");
			((BaseUnityPlugin)this).Logger.LogInfo((object)"PluginName: NoTelegraphCogwork, VersionString: 1.0.0 is loading...");
			Harmony.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"PluginName: NoTelegraphCogwork, VersionString: 1.0.0 is loaded.");
			Log = ((BaseUnityPlugin)this).Logger;
			SceneManager.sceneLoaded -= OnSceneLoaded;
			SceneManager.sceneLoaded += OnSceneLoaded;
		}

		public void OnSceneLoaded(Scene scene, LoadSceneMode mode)
		{
			if (((Scene)(ref scene)).name == "Cog_Dancers_boss" && cogwork.Value)
			{
				GameObject val = GameObject.Find("Dancer Control");
				GameObject val2 = GameObject.Find("Dancer Control/Dancer A");
				GameObject val3 = GameObject.Find("Dancer Control/Dancer B");
				SpriteRenderer[] componentsInChildren = val.GetComponentsInChildren<SpriteRenderer>(true);
				MeshRenderer[] componentsInChildren2 = val3.GetComponentsInChildren<MeshRenderer>(true);
				MeshRenderer[] componentsInChildren3 = val2.GetComponentsInChildren<MeshRenderer>(true);
				((Renderer)componentsInChildren3[1]).enabled = false;
				((Renderer)componentsInChildren3[2]).enabled = false;
				((Renderer)componentsInChildren3[3]).enabled = false;
				((Renderer)componentsInChildren2[1]).enabled = false;
				((Renderer)componentsInChildren2[2]).enabled = false;
				((Renderer)componentsInChildren2[3]).enabled = false;
				SpriteRenderer[] array = componentsInChildren;
				foreach (SpriteRenderer val4 in array)
				{
					if (((Object)((Component)val4).gameObject).name == "beam")
					{
						((Renderer)val4).enabled = false;
					}
					if (((Object)((Component)val4).gameObject).name == "haze2")
					{
						((Renderer)val4).forceRenderingOff = true;
					}
					if (((Object)((Component)val4).gameObject).name == "Join Glow")
					{
						((Renderer)val4).enabled = false;
					}
					if (((Object)((Component)val4).gameObject).name == "Join Ring")
					{
						((Renderer)val4).enabled = false;
					}
					if (((Object)((Component)val4).gameObject).name == "White Flash R")
					{
						((Renderer)val4).enabled = false;
					}
				}
			}
			if (!(((Scene)(ref scene)).name == "Clover_10") || !clover.Value)
			{
				return;
			}
			GameObject val5 = GameObject.Find("Boss Scene/Dancer Control");
			GameObject val6 = GameObject.Find("Boss Scene/Dancer Control/Dancer A");
			GameObject val7 = GameObject.Find("Boss Scene/Dancer Control/Dancer B");
			SpriteRenderer[] componentsInChildren4 = val5.GetComponentsInChildren<SpriteRenderer>(true);
			MeshRenderer[] componentsInChildren5 = val7.GetComponentsInChildren<MeshRenderer>(true);
			MeshRenderer[] componentsInChildren6 = val6.GetComponentsInChildren<MeshRenderer>(true);
			((Renderer)componentsInChildren6[1]).enabled = false;
			((Renderer)componentsInChildren6[2]).enabled = false;
			((Renderer)componentsInChildren6[3]).enabled = false;
			((Renderer)componentsInChildren5[1]).enabled = false;
			((Renderer)componentsInChildren5[2]).enabled = false;
			((Renderer)componentsInChildren5[3]).enabled = false;
			SpriteRenderer[] array2 = componentsInChildren4;
			foreach (SpriteRenderer val8 in array2)
			{
				if (((Object)((Component)val8).gameObject).name == "beam")
				{
					((Renderer)val8).enabled = false;
				}
				if (((Object)((Component)val8).gameObject).name == "haze2")
				{
					((Renderer)val8).forceRenderingOff = true;
				}
				if (((Object)((Component)val8).gameObject).name == "Join Glow")
				{
					((Renderer)val8).enabled = false;
				}
				if (((Object)((Component)val8).gameObject).name == "Join Ring")
				{
					((Renderer)val8).enabled = false;
				}
				if (((Object)((Component)val8).gameObject).name == "White Flash R")
				{
					((Renderer)val8).enabled = false;
				}
			}
		}
	}
}
namespace NoTelegraphClockwork.MonoBehaviours
{
	internal class NoTelegraphClockworkComponent : MonoBehaviour
	{
		public void Awake()
		{
		}

		public void Start()
		{
		}

		public void Update()
		{
		}

		public void LateUpdate()
		{
		}
	}
}