using HarmonyLib; using QSB.Utility; using UnityEngine; namespace QSB.Player { [HarmonyPatch(typeof(PlayerAttachPoint))] internal class PlayerAttachWatcher : MonoBehaviour, IAddComponentOnStart { private void Awake() { Harmony.CreateAndPatchAll(typeof(PlayerAttachWatcher)); Destroy(this); } public static PlayerAttachPoint Current { get; private set; } [HarmonyPatch(nameof(PlayerAttachPoint.AttachPlayer))] private static void AttachPlayer(PlayerAttachPoint __instance) => Current = __instance; [HarmonyPatch(nameof(PlayerAttachPoint.DetachPlayer))] private static void DetachPlayer() => Current = null; } }