Decompiled source of AngelDanceEmote v1.0.1

AngelDanceEmote.dll

Decompiled 7 hours ago
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using EmotesAPI;
using LethalEmotesAPI.ImportV2;
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("AngelDanceEmote")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("AngelDanceEmote")]
[assembly: AssemblyCopyright("Copyright ©  2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("136dd8df-cf7a-43e1-aaf0-f5742b1c33c8")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace AngelDanceEmote;

[BepInPlugin("aod.angeldanceemote", "Angel Dance Emote", "0.1.0")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
public class AngelDancePlugin : BaseUnityPlugin
{
	private void Awake()
	{
		//IL_0190: Unknown result type (might be due to invalid IL or missing references)
		//IL_0197: Expected O, but got Unknown
		//IL_022f: Unknown result type (might be due to invalid IL or missing references)
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Loading Angel Dance Emote...");
		string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location);
		string text = Path.Combine(directoryName, "angeldance");
		AssetBundle val = AssetBundle.LoadFromFile(text);
		if ((Object)(object)val == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)("Failed to load asset bundle: " + text));
			return;
		}
		AnimationClip[] array = val.LoadAllAssets<AnimationClip>();
		AudioClip[] array2 = val.LoadAllAssets<AudioClip>();
		((BaseUnityPlugin)this).Logger.LogInfo((object)$"Found {array.Length} animation clips in bundle.");
		AnimationClip[] array3 = array;
		foreach (AnimationClip val2 in array3)
		{
			((BaseUnityPlugin)this).Logger.LogInfo((object)("AnimationClip found: " + ((Object)val2).name));
		}
		((BaseUnityPlugin)this).Logger.LogInfo((object)$"Found {array2.Length} audio clips in bundle.");
		AudioClip[] array4 = array2;
		foreach (AudioClip val3 in array4)
		{
			((BaseUnityPlugin)this).Logger.LogInfo((object)("AudioClip found: " + ((Object)val3).name));
		}
		AnimationClip val4 = val.LoadAsset<AnimationClip>("AngelDance_Loop");
		AudioClip val5 = val.LoadAsset<AudioClip>("AngelDance_Music");
		if ((Object)(object)val4 == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogError((object)"Could not find AngelDance_Loop in bundle.");
			return;
		}
		if ((Object)(object)val5 == (Object)null)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)"Could not find AngelDance_Music in bundle. Emote will load without music.");
		}
		val4.wrapMode = (WrapMode)2;
		CustomEmoteParams val6 = new CustomEmoteParams();
		val6.internalName = "angel_dance";
		val6.displayName = "Angel Dance";
		val6.primaryAnimationClips = (AnimationClip[])(object)new AnimationClip[1] { val4 };
		val6.secondaryAnimationClips = null;
		val6.primaryAudioClips = (AudioClip[])(object)((!((Object)(object)val5 != (Object)null)) ? null : new AudioClip[1] { val5 });
		val6.audioLoops = true;
		val6.syncAnim = true;
		val6.syncAudio = true;
		val6.audioLevel = 0.7f;
		val6.visible = true;
		val6.thirdPerson = true;
		val6.preventMovement = false;
		val6.stopWhenMove = true;
		val6.lockType = (LockType)0;
		CustomEmoteParams val7 = val6;
		EmoteImporter.ImportEmote(val7);
		((BaseUnityPlugin)this).Logger.LogInfo((object)"Angel Dance Emote registered.");
	}
}