Merge pull request #865 from Zumorica/2020-04-28-tool-component
Tool refactor, multi tools
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components.Interactable
|
||||
{
|
||||
[Flags]
|
||||
public enum ToolQuality : byte
|
||||
{
|
||||
None = 0,
|
||||
Anchoring = 1,
|
||||
Prying = 1 << 1,
|
||||
Screwing = 1 << 2,
|
||||
Cutting = 1 << 3,
|
||||
Welding = 1 << 4,
|
||||
Multitool = 1 << 5,
|
||||
}
|
||||
|
||||
public class SharedToolComponent : Component
|
||||
{
|
||||
public override string Name => "Tool";
|
||||
|
||||
public virtual ToolQuality Qualities { get; set; }
|
||||
}
|
||||
|
||||
[NetSerializable, Serializable]
|
||||
public class MultiToolComponentState : ComponentState
|
||||
{
|
||||
public ToolQuality Quality { get; }
|
||||
|
||||
public MultiToolComponentState(ToolQuality quality) : base(ContentNetIDs.MULTITOOLS)
|
||||
{
|
||||
Quality = quality;
|
||||
}
|
||||
}
|
||||
|
||||
[NetSerializable, Serializable]
|
||||
public class WelderComponentState : ComponentState
|
||||
{
|
||||
public float FuelCapacity { get; }
|
||||
public float Fuel { get; }
|
||||
public bool Activated { get; }
|
||||
public ToolQuality Quality { get; }
|
||||
|
||||
public WelderComponentState(float fuelCapacity, float fuel, bool activated) : base(ContentNetIDs.WELDER)
|
||||
{
|
||||
FuelCapacity = fuelCapacity;
|
||||
Fuel = fuel;
|
||||
Activated = activated;
|
||||
Quality = ToolQuality.Welding;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
using System;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.GameObjects.Components
|
||||
{
|
||||
[NetSerializable, Serializable]
|
||||
public class WelderComponentState : ComponentState
|
||||
{
|
||||
public float FuelCapacity { get; }
|
||||
public float Fuel { get; }
|
||||
public bool Activated { get; }
|
||||
|
||||
public WelderComponentState(float fuelCapacity, float fuel, bool activated) : base(ContentNetIDs.WELDER)
|
||||
{
|
||||
FuelCapacity = fuelCapacity;
|
||||
Fuel = fuel;
|
||||
Activated = activated;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,6 +45,6 @@
|
||||
public const uint MICROWAVE = 1040;
|
||||
public const uint GRAVITY_GENERATOR = 1041;
|
||||
public const uint SURGERY = 1042;
|
||||
|
||||
public const uint MULTITOOLS = 1043;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user