Decompiled source of AnyParry v1.0.2

plugins/AnyParry.dll

Decompiled 3 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using UnityEngine;
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("AnyParry")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AnyParry")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("cb6b9024-a4ab-4f88-89d0-a55eee98955f")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace AnyParry;

[BepInPlugin("ironfarm.uk.anyparry", "AnyParry", "1.0.2")]
public class Plugin : BaseUnityPlugin
{
	public static class PatchDude
	{
		[HarmonyPatch(typeof(TimeController), "ParryFlash")]
		[HarmonyPostfix]
		private static void SetParryImage(TimeController __instance)
		{
			if (parrySprites.Count < 1)
			{
				__instance.parryFlash.GetComponent<Image>().sprite = null;
			}
			else
			{
				__instance.parryFlash.GetComponent<Image>().sprite = parrySprites[Random.Range(0, parrySprites.Count)];
			}
		}
	}

	public static List<string> imageTypes = new List<string> { ".jpeg", ".jpg", ".png", ".bmp" };

	public static List<Sprite> parrySprites = new List<Sprite>();

	public static string ModDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

	public Harmony harm;

	public static FilterMode filterType = (FilterMode)0;

	public void Start()
	{
		//IL_000d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0017: Expected O, but got Unknown
		UpdateParryList();
		harm = new Harmony("ironfarm.uk.anyparry");
		harm.PatchAll(typeof(PatchDude));
	}

	public static void UpdateParryList()
	{
		//IL_0078: Unknown result type (might be due to invalid IL or missing references)
		//IL_007f: Expected O, but got Unknown
		//IL_0081: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
		parrySprites = new List<Sprite>();
		foreach (string item2 in Directory.EnumerateFiles(Path.Combine(Path.Combine(ModDir, "ParryImages"))))
		{
			for (int i = 0; i < imageTypes.Count; i++)
			{
				if (string.Equals(imageTypes[i], Path.GetExtension(item2), StringComparison.OrdinalIgnoreCase))
				{
					Debug.Log((object)item2);
					byte[] array = File.ReadAllBytes(item2);
					Texture2D val = new Texture2D(0, 0, (TextureFormat)4, false);
					((Texture)val).filterMode = filterType;
					ImageConversion.LoadImage(val, array);
					Sprite item = Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f));
					parrySprites.Add(item);
					break;
				}
			}
		}
	}
}
internal class PluginInfo
{
	public const string Name = "AnyParry";

	public const string GUID = "ironfarm.uk.anyparry";

	public const string Version = "1.0.2";
}