Decompiled source of SmoothRadarSkinWalker v1.0.5

SmoothRadarSkinwalker.dll

Decompiled 3 weeks ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
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("SmoothRadarSkinwalker")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SmoothRadarSkinwalker")]
[assembly: AssemblyCopyright("Copyright ©  2025")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("3e905d0f-9f3e-406f-addb-a9bd030408e4")]
[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 SmoothRadarSkinwalker;

[BepInPlugin("com.yourname.smoothradarskinwalker", "Smooth Radar Skinwalker", "1.0.5")]
public class SmoothRadarSkinwalker : BaseUnityPlugin
{
	[HarmonyPatch]
	private class Patch
	{
		private static MethodBase TargetMethod()
		{
			return AccessTools.Method(AccessTools.TypeByName("GrabbableObject"), "Update", (Type[])null, (Type[])null);
		}

		private static void Postfix(object __instance)
		{
			//IL_005c: Unknown result type (might be due to invalid IL or missing references)
			//IL_005e: Unknown result type (might be due to invalid IL or missing references)
			//IL_006e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Unknown result type (might be due to invalid IL or missing references)
			//IL_0056: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			if (__instance == null)
			{
				return;
			}
			object? obj = __instance.GetType().GetField("radarIcon", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)?.GetValue(__instance);
			Transform val = (Transform)((obj is Transform) ? obj : null);
			if (!((Object)(object)val == (Object)null))
			{
				if (!lastRotations.TryGetValue(__instance, out var value))
				{
					value = val.rotation;
				}
				Quaternion value2 = (val.rotation = Quaternion.Slerp(value, val.rotation, Time.deltaTime * smoothSpeed));
				lastRotations[__instance] = value2;
			}
		}
	}

	private static readonly Dictionary<object, Quaternion> lastRotations = new Dictionary<object, Quaternion>();

	private static float smoothSpeed = 6f;

	private void Awake()
	{
		//IL_0006: Unknown result type (might be due to invalid IL or missing references)
		new Harmony("com.yourname.smoothradarskinwalker").PatchAll();
		((BaseUnityPlugin)this).Logger.LogInfo((object)"✅ Smooth Radar Skinwalker v1.0.5 loaded!");
	}
}