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";
}