first commit

This commit is contained in:
2025-07-06 00:23:46 +02:00
commit 38f50c8819
1788 changed files with 112878 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic.FMOD;
using NitroxClient.MonoBehaviours;
using NitroxClient.Unity.Helper;
using NitroxModel.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
public class MedicalCabinetClickedProcessor : ClientPacketProcessor<MedicalCabinetClicked>
{
public override void Process(MedicalCabinetClicked packet)
{
GameObject gameObject = NitroxEntity.RequireObjectFrom(packet.Id);
MedicalCabinet cabinet = gameObject.RequireComponent<MedicalCabinet>();
bool medkitPickedUp = !packet.HasMedKit && cabinet.hasMedKit;
bool doorChangedState = cabinet.doorOpen != packet.DoorOpen;
cabinet.hasMedKit = packet.HasMedKit;
cabinet.timeSpawnMedKit = packet.NextSpawnTime;
using (PacketSuppressor<FMODCustomEmitterPacket>.Suppress())
using (FMODSystem.SuppressSubnauticaSounds())
{
if (doorChangedState)
{
cabinet.Invoke(nameof(MedicalCabinet.ToggleDoorState), 0f);
}
else if (medkitPickedUp)
{
cabinet.Invoke(nameof(MedicalCabinet.ToggleDoorState), 2f);
}
}
}
}