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.MonoBehaviours;
using NitroxModel.Packets;
using UnityEngine;
namespace NitroxClient.Communication.Packets.Processors;
public class FMODStudioEventEmitterProcessor : ClientPacketProcessor<FMODStudioEmitterPacket>
{
public override void Process(FMODStudioEmitterPacket packet)
{
if (!NitroxEntity.TryGetObjectFrom(packet.Id, out GameObject emitterControllerObject))
{
Log.ErrorOnce($"[{nameof(FMODStudioEventEmitterProcessor)}] Couldn't find entity {packet.Id}");
return;
}
if (!emitterControllerObject.TryGetComponent(out FMODEmitterController fmodEmitterController))
{
fmodEmitterController = emitterControllerObject.AddComponent<FMODEmitterController>();
fmodEmitterController.LateRegisterEmitter();
}
using (PacketSuppressor<FMODStudioEmitterPacket>.Suppress())
{
if (packet.Play)
{
fmodEmitterController.PlayStudioEmitter(packet.AssetPath);
}
else
{
fmodEmitterController.StopStudioEmitter(packet.AssetPath, packet.AllowFadeout);
}
}
}
}