using System.Reflection;
using NitroxClient.GameLogic.PlayerLogic;
using NitroxModel.Helper;
namespace NitroxPatcher.Patches.Dynamic;
///
/// Before a base gets destroyed, we eventually detach/exit any remote player's object that would be inside so that their GameObjects don't get destroyed
///
public sealed partial class Base_OnPreDestroy_Patch : NitroxPatch, IDynamicPatch
{
public static readonly MethodInfo TARGET_METHOD = Reflect.Method((Base t) => t.OnPreDestroy());
public static void Prefix(Base __instance)
{
foreach (RemotePlayerIdentifier remotePlayerIdentifier in __instance.GetComponentsInChildren(true))
{
remotePlayerIdentifier.RemotePlayer.ResetStates();
}
}
}