Decompiled source of TransformersDevastationModels v0.1.1

Transformers Devastation Skins.dll

Decompiled 3 weeks ago
using System;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using Microsoft.CodeAnalysis;
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: IgnoresAccessChecksTo("Assembly-CSharp")]
[assembly: AssemblyCompany("Transformers Devastation Skins")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Transformers Devastation Skins")]
[assembly: AssemblyTitle("Transformers Devastation Skins")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace ModelReplacement
{
	public class MRTFDMOTORMASTER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDMotormaster";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDBONECRUSHER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDBonecrusher";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDLONGHAUL : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDLongHaul";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDBLITZWING : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDBlitzwing";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDRUMBLE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDRumble";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDFRENZY : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDFrenzy";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDGRIMLOCKALT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDGrimlockAlt";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSHRAPNEL : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDShrapnel";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDBOMBSHELL : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDBombshell";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDKICKBACK : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDKickback";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDBUMBLEBEE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDBumblebee";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDGOLDFIRE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDGoldfire";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDGROUNDSOLDIERA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDGroundSoldierA";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDGROUNDSOLDIERB : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDGroundSoldierB";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDHEAVYSOLDIER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDHeavySoldier";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDELITESEEKER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDEliteSeeker";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSIDESWIPE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDSideswipe";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDREDALERT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDRedAlert";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDWHEELJACK : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDWheeljack";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSEEKERA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDSeekerA";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSEEKERB : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDSeekerB";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSCRAPPER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDScrapper";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDMIXMASTER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDMixmaster";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSCAVENGER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDScavenger";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDHOOK : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDHook";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDOPTIMUSPRIME : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDOptimusPrime";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDNEMESISPRIME : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDNemesisPrime";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDGRIMLOCK : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDGrimlock";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSOUNDWAVE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDSoundwave";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDNOVAPRIME : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDNova Prime";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSHOCKWAVE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDShockwave";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDMEGATRON : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDMegatron";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSTARSCREAM : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDStarscream";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDSKYWARP : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDSkywarp";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDTHUNDERCRACKER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDThundercracker";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDDEVASTATOR : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDDevastator";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MRTFDMENASOR : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "TFDMenasor";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	[BepInPlugin("com.miserablesecrets.TFDModels", "Transformers Devastation Models", "0.1.1")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		private void Awake()
		{
			//IL_0315: Unknown result type (might be due to invalid IL or missing references)
			//IL_031b: Expected O, but got Unknown
			Assets.PopulateAssets();
			ModelReplacementAPI.RegisterSuitModelReplacement("Motormaster", typeof(MRTFDMOTORMASTER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Menasor", typeof(MRTFDMENASOR));
			ModelReplacementAPI.RegisterSuitModelReplacement("Devastator", typeof(MRTFDDEVASTATOR));
			ModelReplacementAPI.RegisterSuitModelReplacement("Scrapper", typeof(MRTFDSCRAPPER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Hook", typeof(MRTFDHOOK));
			ModelReplacementAPI.RegisterSuitModelReplacement("Long Haul", typeof(MRTFDLONGHAUL));
			ModelReplacementAPI.RegisterSuitModelReplacement("Bonecrusher", typeof(MRTFDBONECRUSHER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Scavenger", typeof(MRTFDSCAVENGER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Mixmaster", typeof(MRTFDMIXMASTER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Shrapnel", typeof(MRTFDSHRAPNEL));
			ModelReplacementAPI.RegisterSuitModelReplacement("Bombshell", typeof(MRTFDBOMBSHELL));
			ModelReplacementAPI.RegisterSuitModelReplacement("Kickback", typeof(MRTFDKICKBACK));
			ModelReplacementAPI.RegisterSuitModelReplacement("Rumble", typeof(MRTFDRUMBLE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Frenzy", typeof(MRTFDFRENZY));
			ModelReplacementAPI.RegisterSuitModelReplacement("Soundwave", typeof(MRTFDSOUNDWAVE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Shockwave", typeof(MRTFDSHOCKWAVE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Starscream", typeof(MRTFDSTARSCREAM));
			ModelReplacementAPI.RegisterSuitModelReplacement("Skywarp", typeof(MRTFDSKYWARP));
			ModelReplacementAPI.RegisterSuitModelReplacement("Thundercracker", typeof(MRTFDTHUNDERCRACKER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Megatron", typeof(MRTFDMEGATRON));
			ModelReplacementAPI.RegisterSuitModelReplacement("Blitzwing", typeof(MRTFDBLITZWING));
			ModelReplacementAPI.RegisterSuitModelReplacement("Ground Soldier A", typeof(MRTFDGROUNDSOLDIERA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Ground Soldier B", typeof(MRTFDGROUNDSOLDIERB));
			ModelReplacementAPI.RegisterSuitModelReplacement("Heavy Soldier", typeof(MRTFDHEAVYSOLDIER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Seeker A", typeof(MRTFDSEEKERA));
			ModelReplacementAPI.RegisterSuitModelReplacement("Seeker B", typeof(MRTFDSEEKERB));
			ModelReplacementAPI.RegisterSuitModelReplacement("Elite Seeker", typeof(MRTFDELITESEEKER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Nemesis Prime", typeof(MRTFDNEMESISPRIME));
			ModelReplacementAPI.RegisterSuitModelReplacement("Nova Prime", typeof(MRTFDNOVAPRIME));
			ModelReplacementAPI.RegisterSuitModelReplacement("Optimus Prime", typeof(MRTFDOPTIMUSPRIME));
			ModelReplacementAPI.RegisterSuitModelReplacement("Bumblebee", typeof(MRTFDBUMBLEBEE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Goldbug", typeof(MRTFDGOLDFIRE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Grimlock", typeof(MRTFDGRIMLOCK));
			ModelReplacementAPI.RegisterSuitModelReplacement("Grimlock Alt", typeof(MRTFDGRIMLOCKALT));
			ModelReplacementAPI.RegisterSuitModelReplacement("Sideswipe", typeof(MRTFDSIDESWIPE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Red Alert", typeof(MRTFDREDALERT));
			ModelReplacementAPI.RegisterSuitModelReplacement("Wheeljack", typeof(MRTFDWHEELJACK));
			Harmony val = new Harmony("com.miserablesecrets.TFDModels");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.miserablesecrets.TFDModels is loaded!");
		}
	}
	public static class Assets
	{
		public static string mainAssetBundleName = "TFDModels";

		public static AssetBundle MainAssetBundle = null;

		private static string GetAssemblyName()
		{
			return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_");
		}

		public static void PopulateAssets()
		{
			if ((Object)(object)MainAssetBundle == (Object)null)
			{
				Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName);
				using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName);
				MainAssetBundle = AssetBundle.LoadFromStream(stream);
			}
		}
	}
}
namespace System.Runtime.CompilerServices
{
	[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
	internal sealed class IgnoresAccessChecksToAttribute : Attribute
	{
		public IgnoresAccessChecksToAttribute(string assemblyName)
		{
		}
	}
}