Solution refactor (#4407)
* Rename SolutionContainerCaps -> Capability * Move IExamine event to Chemistry System. * ECS the ISolutionChange into SolutionChangeEvent * Unify SolutionContainer into a single shared component * Replace ISolutionInteraction with SolutionContainerComponent * Move all methods from SolutionContainer to ChemistrySystem * Refactor EntitySystem calls to Dependencies * Refactor SolutionContainer to SolutionManager * Fix yamls * Fix test fails * Fix post merge issues * Fix various issues with SolutionManager * More fixes * Fix more components * Fix events not being directed * Fixes for Hypospray * Separate removal and iteration on Metabolism * Fix creampie problems * Address some of sloth's issues * Refactors for Systems * Refactored solution location * Fix tests * Address more sloth issues * Fix dependency * Fix merge conflicts * Add xmldocs for Capabilities components * Remove HasSolution/TryGetDefaultSolution and Add/Remove Drainable/Refillable * Replace Grindable/Juiceable with Extractable * Refactor field names * Fix Drainable * Fix some issues with spillable and injector * Fix issues with Grinder * Fix Beaker having duplicate solutions * Fix foaming * Address some MGS issues * Fix Uid issues * Fix errors in solution Tranfer * Fixed some extra values constant values * Cola is drinkable now
This commit is contained in:
@@ -21,15 +21,16 @@ namespace Content.Server.PowerCell.Components
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[ComponentReference(typeof(BatteryComponent))]
|
||||
public class PowerCellComponent : BatteryComponent, IExamine, ISolutionChange
|
||||
public class PowerCellComponent : BatteryComponent, IExamine
|
||||
{
|
||||
public override string Name => "PowerCell";
|
||||
public const string SolutionName = "powerCell";
|
||||
|
||||
[ViewVariables] public PowerCellSize CellSize => _cellSize;
|
||||
[DataField("cellSize")]
|
||||
private PowerCellSize _cellSize = PowerCellSize.Small;
|
||||
|
||||
[ViewVariables] public bool IsRigged { get; private set; }
|
||||
[ViewVariables] public bool IsRigged { get; set; }
|
||||
|
||||
protected override void Initialize()
|
||||
{
|
||||
@@ -96,13 +97,6 @@ namespace Content.Server.PowerCell.Components
|
||||
message.AddMarkup(Loc.GetString("power-cell-component-examine-details", ("currentCharge", $"{CurrentCharge / MaxCharge * 100:F0}")));
|
||||
}
|
||||
}
|
||||
|
||||
void ISolutionChange.SolutionChanged(SolutionChangeEventArgs eventArgs)
|
||||
{
|
||||
IsRigged = Owner.TryGetComponent(out SolutionContainerComponent? solution)
|
||||
&& solution.Solution.ContainsReagent("Plasma", out var plasma)
|
||||
&& plasma >= 5;
|
||||
}
|
||||
}
|
||||
|
||||
public enum PowerCellSize
|
||||
|
||||
Reference in New Issue
Block a user