29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using Content.Shared._Sunrise.Abilities;
|
|
using Content.Shared.Actions;
|
|
using Robust.Shared.Random;
|
|
|
|
namespace Content.Server._Sunrise.Abilities
|
|
{
|
|
public sealed class FabricateCookieSystem : EntitySystem
|
|
{
|
|
[Dependency] private readonly SharedActionsSystem _actions = default!;
|
|
[Dependency] private readonly IRobustRandom _random = default!;
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
SubscribeLocalEvent<FabricateCookieComponent, ComponentInit>(OnInit);
|
|
SubscribeLocalEvent<FabricateCookieComponent, FabricateCookieActionEvent>(OnCookie);
|
|
}
|
|
|
|
private void OnInit(EntityUid uid, FabricateCookieComponent component, ComponentInit args)
|
|
{
|
|
_actions.AddAction(uid, component.ActionFabricateCookie);
|
|
}
|
|
|
|
private void OnCookie(EntityUid uid, FabricateCookieComponent component, FabricateCookieActionEvent args)
|
|
{
|
|
Spawn(_random.Pick(component.CookieList), Transform(args.Performer).Coordinates);
|
|
args.Handled = true;
|
|
}
|
|
}
|
|
}
|