using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using HarmonyLib;
using LCHoarderBugDonnie.Patches;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("LCHoarderBugDonnie")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LCHoarderBugDonnie")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("eacf15d9-c46a-41bf-ac71-4f12c78d14f0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace LCHoarderBugDonnie
{
[BepInPlugin("AuthorChaos.HoarderBugDonnie", "HoarderBugDonnie", "1.0.0.0")]
public class HoarderBugDonnieBase : BaseUnityPlugin
{
private const string modGUID = "AuthorChaos.HoarderBugDonnie";
private const string modName = "HoarderBugDonnie";
private const string modVersion = "1.0.0.0";
private readonly Harmony harmony = new Harmony("AuthorChaos.HoarderBugDonnie");
private static HoarderBugDonnieBase Instance;
internal ManualLogSource mls;
internal static AudioClip[] newSFX;
internal static string raw_file_name = "yaboogity";
internal static string audio_file_name = "Assets/yaboogity";
internal static string file_format = ".mp3";
private void Awake()
{
if ((Object)(object)Instance == (Object)null)
{
Instance = this;
}
mls = Logger.CreateLogSource("AuthorChaos.HoarderBugDonnie");
mls.LogInfo((object)"!!! The test mod has awaken !!!");
string location = ((BaseUnityPlugin)Instance).Info.Location;
mls.LogInfo((object)location);
string text = "LCHoarderBugDonnie.dll";
string text2 = location.TrimEnd(text.ToCharArray());
mls.LogInfo((object)text2);
string text3 = text2 + raw_file_name;
mls.LogInfo((object)text3);
AssetBundle val = AssetBundle.LoadFromFile(text3);
mls.LogInfo((object)((Object)(object)val != (Object)null));
mls.LogInfo((object)val);
if ((Object)(object)val == (Object)null)
{
mls.LogError((object)("Failed to load audio asset: " + audio_file_name + file_format));
return;
}
newSFX = val.LoadAssetWithSubAssets<AudioClip>(audio_file_name + file_format);
mls.LogInfo((object)newSFX);
harmony.PatchAll(typeof(HoarderBugDonnieBase));
mls.LogInfo((object)newSFX);
harmony.PatchAll(typeof(HoarderBugSoundPatch));
mls.LogInfo((object)"!!! HoarderBugDonnie has loaded successfully !!! :-)");
}
}
}
namespace LCHoarderBugDonnie.Patches
{
[HarmonyPatch(typeof(HoarderBugAI))]
internal class HoarderBugSoundPatch
{
[HarmonyPatch("Start")]
[HarmonyPostfix]
public static void hoarderBugSoundPatch(ref AudioClip[] ___chitterSFX)
{
AudioClip[] newSFX = HoarderBugDonnieBase.newSFX;
___chitterSFX = newSFX;
}
}
}