using System.Collections.Generic; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using BepInEx; using BepInEx.Logging; using HarmonyLib; using UnityEngine; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: AssemblyVersion("0.0.0.0")] [BepInPlugin("com.yourname.yapyap.uiprompts", "YapYap Controller Prompts", "1.0.0")] public class YapYapPromptMod : BaseUnityPlugin { internal static ManualLogSource Log; private static Dictionary customTextures = new Dictionary(); private static Dictionary customSprites = new Dictionary(); private void Awake() { //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) Log = ((BaseUnityPlugin)this).Logger; string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); string[] files = Directory.GetFiles(directoryName, "*.png"); string[] array = files; foreach (string path in array) { string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path); byte[] array2 = File.ReadAllBytes(path); Texture2D val = new Texture2D(2, 2); ImageConversion.LoadImage(val, array2); ((Object)val).name = fileNameWithoutExtension; customTextures[fileNameWithoutExtension] = val; Sprite val2 = Sprite.Create(val, new Rect(0f, 0f, (float)((Texture)val).width, (float)((Texture)val).height), new Vector2(0.5f, 0.5f)); ((Object)val2).name = fileNameWithoutExtension; customSprites[fileNameWithoutExtension] = val2; Log.LogInfo((object)("Loaded custom prompt replacement for: " + fileNameWithoutExtension)); } Harmony.CreateAndPatchAll(typeof(YapYapPromptMod), (string)null); Log.LogInfo((object)"YapYap Controller Prompts loaded and patching!"); } [HarmonyPrefix] [HarmonyPatch(typeof(RawImage), "set_texture")] private static void SwapRawImageTexture(ref Texture value) { if ((Object)(object)value != (Object)null && customTextures.ContainsKey(((Object)value).name)) { value = (Texture)(object)customTextures[((Object)value).name]; } } [HarmonyPatch(typeof(Image), "set_sprite")] [HarmonyPrefix] private static void SwapImageSprite(ref Sprite value) { if ((Object)(object)value != (Object)null && customSprites.ContainsKey(((Object)value).name)) { value = customSprites[((Object)value).name]; } } }