/// <summary> /// Add a single reagent entry to the list /// </summary> private void AddReagentEntry(Solution.ReagentQuantity reagent) { var box = new BoxContainer(); var spin = new FloatSpinBox(1, 2); spin.Value = reagent.Quantity.Float(); spin.OnValueChanged += (args) => SetReagent(args, reagent.ReagentId); spin.HorizontalExpand = true; box.AddChild(new Label() { Text = reagent.ReagentId, HorizontalExpand = true }); box.AddChild(spin); ReagentList.AddChild(box); }
/// <summary> /// Update the capacity label and re-create the reagent list /// </summary> public void UpdateReagents() { ReagentList.DisposeAllChildren(); if (_selectedSolution == null || _solutions == null) { return; } if (!_solutions.TryGetValue(_selectedSolution, out var solution)) { return; } UpdateVolumeBox(solution); UpdateThermalBox(solution); foreach (var reagent in solution) { AddReagentEntry(reagent); } }
/// <summary> /// Update the capacity label and re-create the reagent list /// </summary> public void UpdateReagents() { ReagentList.DisposeAllChildren(); if (_selectedSolution == null || _solutions == null) { return; } if (!_solutions.TryGetValue(_selectedSolution, out var solution)) { return; } TotalLabel.Text = Loc.GetString("admin-solutions-window-capacity-label", ("currentVolume", solution.TotalVolume), ("maxVolume", solution.MaxVolume)); foreach (var reagent in solution) { AddReagentEntry(reagent); } }