Decompiled source of DogTheTrain v1.0.1

MamboDancer-DogTheTrain/DogTheTrain.dll

Decompiled 11 months ago
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 UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("ThumperTheTrain")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ThumperTheTrain")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("036688f5-976a-4d43-a0e0-a2d92c5f10e2")]
[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 ThumperTheTrain
{
	[BepInPlugin("com.MamboDancer.DogTheTrain", "DogTheTrain", "1.0.0")]
	public class DogTheTrainPlugin : BaseUnityPlugin
	{
		[HarmonyPatch]
		private class PatchCrawlerModel
		{
			[HarmonyPatch(typeof(MouthDogAI), "Start")]
			[HarmonyPostfix]
			public static void patchModel(ref Transform ___mouthGrip, ref AudioClip ___screamSFX, ref AudioClip ___breathingSFX, ref AudioClip ___killPlayerSFX)
			{
				//IL_0010: Unknown result type (might be due to invalid IL or missing references)
				//IL_0016: Expected O, but got Unknown
				//IL_003b: Unknown result type (might be due to invalid IL or missing references)
				//IL_0051: Unknown result type (might be due to invalid IL or missing references)
				//IL_0067: Unknown result type (might be due to invalid IL or missing references)
				//IL_0074: Unknown result type (might be due to invalid IL or missing references)
				//IL_0079: Unknown result type (might be due to invalid IL or missing references)
				//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
				GameObject val = (GameObject)thumpertankbundle.LoadAsset("Assets/thomas/ThomasModel.prefab");
				Transform root = ___mouthGrip.root;
				Transform val2 = ___mouthGrip.root.Find("MouthDogModel");
				val2.Find("ToothDogBody").localScale = Vector3.zero;
				val2.Find("ToothDogBodyLOD1").localScale = Vector3.zero;
				val2.Find("AnimContainer").localScale = Vector3.zero;
				GameObject val3 = Object.Instantiate<GameObject>(val, root.position, Quaternion.identity);
				val3.GetComponent<Transform>().SetParent(val2);
				val3.GetComponent<Transform>().localPosition = new Vector3(2.5f, -2f, 1.3f);
				___screamSFX = thumpertankbundle.LoadAsset<AudioClip>("Assets/thomas/thomas-attack.mp3");
				___breathingSFX = thumpertankbundle.LoadAsset<AudioClip>("Assets/thomas/thomas-whistle.mp3");
				___killPlayerSFX = thumpertankbundle.LoadAsset<AudioClip>("Assets/thomas/thomas-kill-player.mp3");
				Debug.Log((object)"[DogTheTrain]MouthDogModel model updated");
			}
		}

		private const string MyGUID = "com.MamboDancer.DogTheTrain";

		private const string PluginName = "DogTheTrain";

		private const string VersionString = "1.0.0";

		private static readonly Harmony Harmony = new Harmony("com.MamboDancer.DogTheTrain");

		public static ManualLogSource Log = new ManualLogSource("DogTheTrain");

		private static AssetBundle thumpertankbundle;

		private void Awake()
		{
			Harmony.PatchAll();
			((BaseUnityPlugin)this).Logger.LogInfo((object)"DogTheTrain ver.1.0.0 is barked!.");
			Log = ((BaseUnityPlugin)this).Logger;
			thumpertankbundle = AssetBundle.LoadFromFile(Paths.PluginPath + "/MamboDancer-DogTheTrain/dogthetankengineasset");
			if ((Object)(object)thumpertankbundle == (Object)null)
			{
				Debug.Log((object)"DogTheTrainFailed to load Thomas assets(((!");
			}
			else
			{
				Debug.Log((object)"DogTheTrainThomas assets loaded successfully!");
			}
		}

		private void Update()
		{
		}
	}
}
namespace ThumperTheTrain.MonoBehaviours
{
	internal class ThumperTheTrainComponent : MonoBehaviour
	{
		public void Awake()
		{
		}

		public void Start()
		{
		}

		public void Update()
		{
		}

		public void LateUpdate()
		{
		}
	}
}