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!");
}
}