Files
Nitrox/NitroxClient/Communication/Packets/Processors/AnimationProcessor.cs
2025-07-06 00:23:46 +02:00

28 lines
931 B
C#

using NitroxClient.Communication.Packets.Processors.Abstract;
using NitroxClient.GameLogic;
using NitroxClient.MonoBehaviours;
using NitroxModel.DataStructures.Util;
using NitroxModel.Packets;
namespace NitroxClient.Communication.Packets.Processors
{
public class AnimationProcessor : ClientPacketProcessor<AnimationChangeEvent>
{
private readonly PlayerManager remotePlayerManager;
public AnimationProcessor(PlayerManager remotePlayerManager)
{
this.remotePlayerManager = remotePlayerManager;
}
public override void Process(AnimationChangeEvent animEvent)
{
Optional<RemotePlayer> opPlayer = remotePlayerManager.Find(animEvent.PlayerId);
if (opPlayer.HasValue)
{
opPlayer.Value.UpdateAnimationAndCollider((AnimChangeType)animEvent.Type, (AnimChangeState)animEvent.State);
}
}
}
}