Files
crystall-punk-14/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs
Ed b3eed32588 Workbench Refactor (#826)
* Workbench refactor

* fixes

* update all recipes protos

* scrap resprite

* scrap melting

* scrap weapon drop

* demiplane loot update

* weapon parts melting

* fix

* boilerplate

* material localization
2025-01-31 14:47:51 +03:00

47 lines
1.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 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
{
/// <summary>
/// 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.
/// </summary>
/// <returns></returns>
public abstract bool CheckRequirement(EntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities,
EntityUid user);
/// <summary>
/// An event that is triggered after crafting. This is the place to put important things like removing items, spending stacks or other things.
/// </summary>
public abstract void PostCraft(EntityManager entManager,
HashSet<EntityUid> placedEntities,
EntityUid user);
/// <summary>
/// This text will be displayed in the description of the craft recipe. Write something like Wooden planks: х10 here
/// </summary>
public abstract string GetRequirementTitle(IPrototypeManager protoManager);
/// <summary>
/// You can specify an icon generated from an entity. It will support layering, colour changes and other layer options. Return null to disable.
/// </summary>
public abstract EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager);
/// <summary>
/// You can specify the texture directly. Return null to disable.
/// </summary>
public abstract SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager);
}