- add: shared animation

This commit is contained in:
2024-02-24 16:37:40 +03:00
parent 2ec981e9e6
commit e3f5ec25e3
11 changed files with 306 additions and 10 deletions

View File

@@ -0,0 +1,38 @@
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));
}
}