Decompiled source of EarthWarsMix v0.2.1

EarthWarsMix.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 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("EarthWarsMix")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("EarthWarsMix")]
[assembly: AssemblyTitle("EarthWarsMix")]
[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 MREWBEACHCOMBER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWBeachcomber";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWCLIFFJUMPER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWCliffjumper";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWMIRAGE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWMirage";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWDRAGSTRIP : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWDragStrip";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWJAZZ : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWJazz";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWSMOKESCREEN : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWSmokescreen";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWBARRICADE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWBarricade";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWBREAKDOWN : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWBreakdown";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWDEADEND : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWDeadEnd";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWWILDRIDER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWWildrider";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWSEASPRAY : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWSeaspray";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWTRACKS : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWTracks";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWPUNCH : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWPunch";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWAIRRAID : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWAirRaid";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWBLADES : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWBlades";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWBLASTOFF : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWBlastOff";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWBRAWL : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWBrawl";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWFIREFLIGHT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWFireflight";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWFIRSTAID : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWFirstAid";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWSKYDIVE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWSkydive";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWVORTEX : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWVortex";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWASTROTRAIN : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWAstrotrain";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWBLASTER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWBlaster";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWHOTSPOT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWHotSpot";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWMOTORMASTER : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWMotormaster";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWONSLAUGHT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWOnslaught";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWPERCEPTOR : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWPerceptor";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWULTRAMAGNUS : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWUltraMagnus";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWSILVERBOLT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWSilverbolt";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWSINGSHOT : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWSingshot";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWSTREETWISE : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWStreetwise";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	public class MREWOMEGA : BodyReplacementBase
	{
		protected override GameObject LoadAssetsAndReturnModel()
		{
			string text = "EWOmega";
			return Assets.MainAssetBundle.LoadAsset<GameObject>(text);
		}
	}
	[BepInPlugin("com.MiserableSecrets.EarthWarsMix", "EarthWarsMix", "0.2.1")]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class Plugin : BaseUnityPlugin
	{
		private void Awake()
		{
			//IL_02ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b2: Expected O, but got Unknown
			Assets.PopulateAssets();
			ModelReplacementAPI.RegisterSuitModelReplacement("Beachcomber EW", typeof(MREWBEACHCOMBER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Cliffjumper EW", typeof(MREWCLIFFJUMPER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Mirage EW", typeof(MREWMIRAGE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Drag Strip EW", typeof(MREWDRAGSTRIP));
			ModelReplacementAPI.RegisterSuitModelReplacement("Jazz EW", typeof(MREWJAZZ));
			ModelReplacementAPI.RegisterSuitModelReplacement("Smokescreen EW", typeof(MREWSMOKESCREEN));
			ModelReplacementAPI.RegisterSuitModelReplacement("Barricade EW", typeof(MREWBARRICADE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Breakdown EW", typeof(MREWBREAKDOWN));
			ModelReplacementAPI.RegisterSuitModelReplacement("Dead End EW", typeof(MREWDEADEND));
			ModelReplacementAPI.RegisterSuitModelReplacement("Wildrider EW", typeof(MREWWILDRIDER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Seaspray EW", typeof(MREWSEASPRAY));
			ModelReplacementAPI.RegisterSuitModelReplacement("Tracks EW", typeof(MREWTRACKS));
			ModelReplacementAPI.RegisterSuitModelReplacement("Punch EW", typeof(MREWPUNCH));
			ModelReplacementAPI.RegisterSuitModelReplacement("Air Raid EW", typeof(MREWAIRRAID));
			ModelReplacementAPI.RegisterSuitModelReplacement("Blades EW", typeof(MREWBLADES));
			ModelReplacementAPI.RegisterSuitModelReplacement("Blast Off EW", typeof(MREWBLASTOFF));
			ModelReplacementAPI.RegisterSuitModelReplacement("Brawl EW", typeof(MREWBRAWL));
			ModelReplacementAPI.RegisterSuitModelReplacement("Fireflight EW", typeof(MREWFIREFLIGHT));
			ModelReplacementAPI.RegisterSuitModelReplacement("First Aid EW", typeof(MREWFIRSTAID));
			ModelReplacementAPI.RegisterSuitModelReplacement("Skydive EW", typeof(MREWSKYDIVE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Vortex EW", typeof(MREWVORTEX));
			ModelReplacementAPI.RegisterSuitModelReplacement("Astrotrain EW", typeof(MREWASTROTRAIN));
			ModelReplacementAPI.RegisterSuitModelReplacement("Blaster EW", typeof(MREWBLASTER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Hot Spot EW", typeof(MREWHOTSPOT));
			ModelReplacementAPI.RegisterSuitModelReplacement("Motormaster EW", typeof(MREWMOTORMASTER));
			ModelReplacementAPI.RegisterSuitModelReplacement("Onslaught EW", typeof(MREWONSLAUGHT));
			ModelReplacementAPI.RegisterSuitModelReplacement("Perceptor EW", typeof(MREWPERCEPTOR));
			ModelReplacementAPI.RegisterSuitModelReplacement("Ultra Magnus EW", typeof(MREWULTRAMAGNUS));
			ModelReplacementAPI.RegisterSuitModelReplacement("Silverbolt EW", typeof(MREWSILVERBOLT));
			ModelReplacementAPI.RegisterSuitModelReplacement("Slingshot EW", typeof(MREWSINGSHOT));
			ModelReplacementAPI.RegisterSuitModelReplacement("Streetwise EW", typeof(MREWSTREETWISE));
			ModelReplacementAPI.RegisterSuitModelReplacement("Omega Supreme EW", typeof(MREWOMEGA));
			Harmony val = new Harmony("com.MiserableSecrets.EarthWarsMix");
			val.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin com.MiserableSecrets.EarthWarsMix is loaded!");
		}
	}
	public static class Assets
	{
		public static string mainAssetBundleName = "EarthWarsMix";

		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)
		{
		}
	}
}