Deconstruction Features (#1242)
* ConstructionSystem now detects when a tool is used on an arbitrary entity. * Refactored building logic from ConstructionComponent to ConstructionSystem. * Add OnDeconstruct events so that deconstruction can be blocked if prerequisites are not met. * Multi-step deconstruction works. Windows can be deconstructed using a screwdriver. * In-hand construction and deconstruction works. * Intermediate entities now have a better name assigned to them when created. * Removed a question mark to appease Jenkins. * Instead of running ExposeData on the existing ItemComponent of an intermediateFrame, the system will now replace the existing ItemComponent with a new one, and run ExposeData on the new one.
This commit is contained in:
@@ -15,8 +15,14 @@ using Robust.Shared.ViewVariables;
|
||||
|
||||
namespace Content.Server.GameObjects.Components.Interactable
|
||||
{
|
||||
public interface IToolComponent
|
||||
{
|
||||
ToolQuality Qualities { get; set; }
|
||||
}
|
||||
|
||||
[RegisterComponent]
|
||||
public class ToolComponent : SharedToolComponent
|
||||
[ComponentReference(typeof(IToolComponent))]
|
||||
public class ToolComponent : SharedToolComponent, IToolComponent
|
||||
{
|
||||
protected ToolQuality _qualities = ToolQuality.None;
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ namespace Content.Server.GameObjects.Components.Interactable
|
||||
{
|
||||
[RegisterComponent]
|
||||
[ComponentReference(typeof(ToolComponent))]
|
||||
[ComponentReference(typeof(IToolComponent))]
|
||||
public class WelderComponent : ToolComponent, IExamine, IUse, ISuicideAct
|
||||
{
|
||||
#pragma warning disable 649
|
||||
|
||||
Reference in New Issue
Block a user