/* * This file is sublicensed under MIT License * https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT */ using JetBrains.Annotations; using Robust.Shared.Prototypes; using Robust.Shared.Utility; namespace Content.Shared._CP14.Workbench; [ImplicitDataDefinitionForInheritors] [MeansImplicitUse] public abstract partial class CP14WorkbenchCraftRequirement { /// /// Here a check is made that the recipe as a whole can be fulfilled at the current moment. Do not add anything that affects gameplay here, and only perform checks here. /// /// public abstract bool CheckRequirement(EntityManager entManager, IPrototypeManager protoManager, HashSet placedEntities, EntityUid user); /// /// An event that is triggered after crafting. This is the place to put important things like removing items, spending stacks or other things. /// public abstract void PostCraft(EntityManager entManager, HashSet placedEntities, EntityUid user); /// /// This text will be displayed in the description of the craft recipe. Write something like ‘Wooden planks: х10’ here /// public abstract string GetRequirementTitle(IPrototypeManager protoManager); /// /// You can specify an icon generated from an entity. It will support layering, colour changes and other layer options. Return null to disable. /// public abstract EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager); /// /// You can specify the texture directly. Return null to disable. /// public abstract SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager); }