Decompiled source of EmoteableBiden v1.0.1

EmoteableBiden.dll

Decompiled 3 days ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Logging;
using EmotesAPI;
using On.RoR2;
using R2API.Utils;
using RoR2;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: AssemblyCompany("EmoteableBiden")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("EmoteableBiden")]
[assembly: AssemblyTitle("EmoteableBiden")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace EmoteableBiden;

[BepInPlugin("com.brynzananas.emoteablebuden", "Emotable Biden", "1.0.1")]
[BepInDependency("com.bepis.r2api", "4.4.1")]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
public class Main : BaseUnityPlugin
{
	[Serializable]
	[CompilerGenerated]
	private sealed class <>c
	{
		public static readonly <>c <>9 = new <>c();

		public static hook_Init <>9__6_0;

		internal void <Awake>b__6_0(orig_Init orig)
		{
			orig.Invoke();
			if (emotesSetup)
			{
				return;
			}
			emotesSetup = true;
			foreach (SurvivorDef allSurvivorDef in SurvivorCatalog.allSurvivorDefs)
			{
				if (((Object)allSurvivorDef.bodyPrefab).name == "BidenBody")
				{
					GameObject val = MainAssets.LoadAsset<GameObject>("Assets/Models/Prefabs/Biden/Biden.prefab");
					CustomEmotesAPI.ImportArmature(allSurvivorDef.bodyPrefab, val, 0, true);
					CustomEmotesAPI.CreateNameTokenSpritePair("PB_BIDEN_BODY_NAME", MainAssets.LoadAsset<Sprite>("Assets/Models/Prefabs/Biden/biden-emote-icon.png"));
				}
			}
		}
	}

	public const string ModGuid = "com.brynzananas.emoteablebuden";

	public const string ModName = "Emotable Biden";

	public const string ModVer = "1.0.1";

	public static bool emotesSetup;

	public static AssetBundle MainAssets;

	public static ManualLogSource ModLogger;

	private void Awake()
	{
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_004f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0055: Expected O, but got Unknown
		ModLogger = ((BaseUnityPlugin)this).Logger;
		using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EmoteableBiden.biden"))
		{
			MainAssets = AssetBundle.LoadFromStream(stream);
		}
		object obj = <>c.<>9__6_0;
		if (obj == null)
		{
			hook_Init val = delegate(orig_Init orig)
			{
				orig.Invoke();
				if (!emotesSetup)
				{
					emotesSetup = true;
					foreach (SurvivorDef allSurvivorDef in SurvivorCatalog.allSurvivorDefs)
					{
						if (((Object)allSurvivorDef.bodyPrefab).name == "BidenBody")
						{
							GameObject val2 = MainAssets.LoadAsset<GameObject>("Assets/Models/Prefabs/Biden/Biden.prefab");
							CustomEmotesAPI.ImportArmature(allSurvivorDef.bodyPrefab, val2, 0, true);
							CustomEmotesAPI.CreateNameTokenSpritePair("PB_BIDEN_BODY_NAME", MainAssets.LoadAsset<Sprite>("Assets/Models/Prefabs/Biden/biden-emote-icon.png"));
						}
					}
				}
			};
			<>c.<>9__6_0 = val;
			obj = (object)val;
		}
		SurvivorCatalog.Init += (hook_Init)obj;
	}
}