Allow solutions to store extra reagent data (#19323)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Content.Shared.Chemistry.Components;
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using Robust.Client.AutoGenerated;
|
||||
using Robust.Client.Console;
|
||||
using Robust.Client.UserInterface.Controls;
|
||||
@@ -176,16 +177,16 @@ namespace Content.Client.Administration.UI.ManageSolutions
|
||||
/// <summary>
|
||||
/// Add a single reagent entry to the list
|
||||
/// </summary>
|
||||
private void AddReagentEntry(Solution.ReagentQuantity reagent)
|
||||
private void AddReagentEntry(ReagentQuantity reagentQuantity)
|
||||
{
|
||||
var box = new BoxContainer();
|
||||
var spin = new FloatSpinBox(1, 2);
|
||||
|
||||
spin.Value = reagent.Quantity.Float();
|
||||
spin.OnValueChanged += (args) => SetReagent(args, reagent.ReagentId);
|
||||
spin.Value = reagentQuantity.Quantity.Float();
|
||||
spin.OnValueChanged += (args) => SetReagent(args, reagentQuantity.Reagent.Prototype);
|
||||
spin.HorizontalExpand = true;
|
||||
|
||||
box.AddChild(new Label() { Text = reagent.ReagentId , HorizontalExpand = true});
|
||||
box.AddChild(new Label() { Text = reagentQuantity.Reagent.Prototype , HorizontalExpand = true});
|
||||
box.AddChild(spin);
|
||||
|
||||
ReagentList.AddChild(box);
|
||||
@@ -194,18 +195,18 @@ namespace Content.Client.Administration.UI.ManageSolutions
|
||||
/// <summary>
|
||||
/// Execute a command to modify the reagents in the solution.
|
||||
/// </summary>
|
||||
private void SetReagent(FloatSpinBox.FloatSpinBoxEventArgs args, string reagentId)
|
||||
private void SetReagent(FloatSpinBox.FloatSpinBoxEventArgs args, string prototype)
|
||||
{
|
||||
if (_solutions == null || _selectedSolution == null)
|
||||
return;
|
||||
|
||||
var current = _solutions[_selectedSolution].GetReagentQuantity(reagentId);
|
||||
var current = _solutions[_selectedSolution].GetTotalPrototypeQuantity(prototype);
|
||||
var delta = args.Value - current.Float();
|
||||
|
||||
if (MathF.Abs(delta) < 0.01)
|
||||
return;
|
||||
|
||||
var command = $"addreagent {_target} {_selectedSolution} {reagentId} {delta}";
|
||||
var command = $"addreagent {_target} {_selectedSolution} {prototype} {delta}";
|
||||
_consoleHost.ExecuteCommand(command);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user