/* * This file is sublicensed under MIT License * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT */ using Content.Shared._CP14.Cooking.Components; using Content.Shared.Interaction; using Robust.Shared.Containers; namespace Content.Shared._CP14.Cooking; public abstract partial class CP14SharedCookingSystem { private void InitTransfer() { SubscribeLocalEvent(OnAfterInteract); SubscribeLocalEvent(OnInteractUsing); SubscribeLocalEvent(OnInsertAttempt); } private void OnInteractUsing(Entity target, ref InteractUsingEvent args) { if (!TryComp(args.Used, out var used)) return; TryTransferFood(target, (args.Used, used)); } private void OnAfterInteract(Entity ent, ref AfterInteractEvent args) { if (!TryComp(args.Target, out var target)) return; TryTransferFood(ent, (args.Target.Value, target)); } private void OnInsertAttempt(Entity ent, ref ContainerIsInsertingAttemptEvent args) { if (args.Cancelled) return; if (!TryComp(ent, out var holder)) return; if (holder.FoodData is not null) { _popup.PopupEntity(Loc.GetString("cp14-cooking-popup-not-empty", ("name", MetaData(ent).EntityName)), ent); args.Cancel(); } } }