Files
OldThink/Content.Server/_Amour/Animation/SharebleAnimationSystem.cs
2024-02-24 17:00:43 +03:00

39 lines
1.2 KiB
C#

using Content.Shared._Amour.Animation;
using Content.Shared._Amour.Hole;
using Content.Shared.Verbs;
using Robust.Shared.Prototypes;
namespace Content.Server._Amour.Animation;
public sealed class SharebleAnimationSystem : SharedAnimationSystem
{
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
public override void Initialize()
{
SubscribeLocalEvent<HoleContainerComponent,GetVerbsEvent<Verb>>(OnVerb);
}
private void OnVerb(EntityUid uid, HoleContainerComponent component, GetVerbsEvent<Verb> args)
{
if(!_prototypeManager.TryIndex<AnimationPrototype>("meow",out var prototype))
return;
args.Verbs.Add(new Verb()
{
Text = "MEOW ABOUT IT",
Act = () => Play(uid, prototype)
});
}
public override void Play(EntityUid uid, ProtoId<AnimationPrototype> protoId)
{
RaiseNetworkEvent(new AnimationProtoStartMessage(GetNetEntity(uid),protoId));
}
public override void Play(EntityUid uid, AnimationData data, string animationId = "funny")
{
RaiseNetworkEvent(new AnimationStartMessage(GetNetEntity(uid),data,animationId));
}
}