Decompiled source of DifferentWormHoleColor v1.0.0

BepInEx/plugins/DifferentWormHoleColor.dll

Decompiled 3 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("DifferentWormHoleColor")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+e569b5e068e3cc3cb8ddd14dc2148bddad890eb7")]
[assembly: AssemblyProduct("DifferentWormHoleColor")]
[assembly: AssemblyTitle("DifferentWormHoleColor")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
public static class Images
{
	public static readonly string redWormHole = "iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAIAAABdtOgoAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGlmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4NywgMjAyNS8wMy8wNi0xOToxMjowMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI2LjkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNS0wOC0xNFQyMjoxMDo1NiswNzowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjUtMDgtMTRUMjI6MjU6MDArMDc6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMDgtMTRUMjI6MjU6MDArMDc6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY4MGVkYTUyLTJmNDUtMzk0ZS04N2JlLWViZWRkZGVkMmIxNCIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM5ZjBkN2I0LWY4NWQtOGQ0YS04ZjE2LTg1ZjA5Mzk1ZGNhMCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjQ4ZDdlNjc4LTZmZDgtNGE0NC1hMjUyLTc4OGZkMzM0NzQ3YSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDhkN2U2NzgtNmZkOC00YTQ0LWEyNTItNzg4ZmQzMzQ3NDdhIiBzdEV2dDp3aGVuPSIyMDI1LTA4LTE0VDIyOjEwOjU2KzA3OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjYuOSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmIzY2M0MjJiLTY2NjYtZTc0MC05NTAxLTUwZjM5Y2U2NTQ5OCIgc3RFdnQ6d2hlbj0iMjAyNS0wOC0xNFQyMjoyNTowMCswNzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI2LjkgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ODBlZGE1Mi0yZjQ1LTM5NGUtODdiZS1lYmVkZGRlZDJiMTQiIHN0RXZ0OndoZW49IjIwMjUtMDgtMTRUMjI6MjU6MDArMDc6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNi45IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4miZ4QAAAMdUlEQVR4nO2cyY/kSBXGfxFhO9faZrppNMMIxBENZ878/2cuHEACAd109/RS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";

	public static readonly string greenWormHole = "iVBORw0KGgoAAAANSUhEUgAAAIAAAABACAIAAABdtOgoAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAE7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDMgNzkuOTY5MGE4NywgMjAyNS8wMy8wNi0xOToxMjowMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI2LjkgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNS0wOC0xNFQyMjowNToyNCswNzowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjUtMDgtMTRUMjI6MTQ6MTcrMDc6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjUtMDgtMTRUMjI6MTQ6MTcrMDc6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjkwYTFkYzhkLWNiYTktOWM0Zi1iZDYyLTZiNmZkMDdhNGQwZiIgeG1wTU06RG9jdW1lbnRJRD0i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";
}
namespace DifferentWormHoleColor
{
	[BepInPlugin("com.infernumvii.differentwormholecolor", "DifferentWormHoleColor", "1.0.0")]
	public class DifferentWormHoleColor : BaseUnityPlugin
	{
		internal static ManualLogSource Logger;

		private readonly Harmony harmony = new Harmony("com.infernumvii.differentwormholecolor");

		private static readonly Dictionary<GameObject, int> MageBookToTeamID = new Dictionary<GameObject, int>();

		private void Awake()
		{
			Logger = ((BaseUnityPlugin)this).Logger;
			harmony.PatchAll();
			Logger.LogInfo((object)"DifferentWormHoleColor is loaded!");
		}

		private void Update()
		{
			MageBookToTeamID.Clear();
			GameObject[] array = GameObject.FindGameObjectsWithTag("Player");
			foreach (GameObject val in array)
			{
				if (((Object)val).name.Contains("Player"))
				{
					PlayerMovement component = val.GetComponent<PlayerMovement>();
					if (!((Object)(object)component == (Object)null))
					{
						ScanForMageBooks(val.transform, component.playerTeam);
					}
				}
			}
		}

		private static void ScanForMageBooks(Transform parent, int teamID)
		{
			//IL_000f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Expected O, but got Unknown
			foreach (Transform item in parent)
			{
				Transform val = item;
				if (((Object)val).name.Contains("MageBook") && ((Component)val).gameObject.activeSelf)
				{
					MageBookToTeamID[((Component)val).gameObject] = teamID;
				}
				ScanForMageBooks(val, teamID);
			}
		}

		public static int GetTeamIDByMageBook(GameObject mageBook)
		{
			if (!MageBookToTeamID.TryGetValue(mageBook, out var value))
			{
				return -1;
			}
			return value;
		}
	}
	public static class MyPluginInfo
	{
		public const string PLUGIN_GUID = "DifferentWormHoleColor";

		public const string PLUGIN_NAME = "DifferentWormHoleColor";

		public const string PLUGIN_VERSION = "1.0.0";
	}
}
namespace DifferentWormHoleColor.Patches
{
	[HarmonyPatch(typeof(WormholeTele))]
	public static class WormholeTelePatch
	{
		[HarmonyPatch("Start")]
		[HarmonyPostfix]
		private static void StartPostfix(WormholeTele __instance)
		{
			Texture2D teamWormholeTexture = GetTeamWormholeTexture(DifferentWormHoleColor.GetTeamIDByMageBook(((Component)__instance.mbc).gameObject));
			if (!((Object)(object)teamWormholeTexture == (Object)null))
			{
				((Renderer)((Component)((Component)__instance).gameObject.transform.GetChild(0)).gameObject.GetComponent<MeshRenderer>()).materials[0].SetTexture("_Texture2D", (Texture)(object)teamWormholeTexture);
			}
		}

		private static Texture2D Base64ToTexture(string base64String)
		{
			//IL_0009: Unknown result type (might be due to invalid IL or missing references)
			//IL_000e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0015: Expected O, but got Unknown
			//IL_0017: Expected O, but got Unknown
			byte[] array = Convert.FromBase64String(base64String);
			Texture2D val = new Texture2D(2, 2);
			ImageConversion.LoadImage(val, array);
			return val;
		}

		private static Texture2D GetTeamWormholeTexture(int teamId)
		{
			return (Texture2D)(teamId switch
			{
				0 => Base64ToTexture(Images.greenWormHole), 
				2 => Base64ToTexture(Images.redWormHole), 
				_ => null, 
			});
		}
	}
}