Revert "Solution Entities" (#23160)

Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
This commit is contained in:
Emisse
2023-12-28 20:45:42 -07:00
committed by GitHub
parent c2c76c2035
commit 938d6d9945
180 changed files with 2959 additions and 3543 deletions

View File

@@ -20,7 +20,7 @@ namespace Content.Client.Administration.UI.ManageSolutions
private NetEntity _target = NetEntity.Invalid;
private string? _selectedSolution;
private AddReagentWindow? _addReagentWindow;
private Dictionary<string, EntityUid>? _solutions;
private Dictionary<string, Solution>? _solutions;
public EditSolutionsWindow()
{
@@ -60,11 +60,9 @@ namespace Content.Client.Administration.UI.ManageSolutions
if (_selectedSolution == null || _solutions == null)
return;
if (!_solutions.TryGetValue(_selectedSolution, out var solutionId) ||
!_entityManager.TryGetComponent(solutionId, out SolutionComponent? solutionComp))
if (!_solutions.TryGetValue(_selectedSolution, out var solution))
return;
var solution = solutionComp.Solution;
UpdateVolumeBox(solution);
UpdateThermalBox(solution);
@@ -200,13 +198,10 @@ namespace Content.Client.Administration.UI.ManageSolutions
/// </summary>
private void SetReagent(FloatSpinBox.FloatSpinBoxEventArgs args, string prototype)
{
if (_solutions == null || _selectedSolution == null ||
!_solutions.TryGetValue(_selectedSolution, out var solutionId) ||
!_entityManager.TryGetComponent(solutionId, out SolutionComponent? solutionComp))
if (_solutions == null || _selectedSolution == null)
return;
var solution = solutionComp.Solution;
var current = solution.GetTotalPrototypeQuantity(prototype);
var current = _solutions[_selectedSolution].GetTotalPrototypeQuantity(prototype);
var delta = args.Value - current.Float();
if (MathF.Abs(delta) < 0.01)
@@ -280,38 +275,22 @@ namespace Content.Client.Administration.UI.ManageSolutions
/// <summary>
/// Update the solution options.
/// </summary>
public void UpdateSolutions(List<(string, NetEntity)>? solutions)
public void UpdateSolutions(Dictionary<string, Solution>? solutions)
{
SolutionOption.Clear();
if (solutions is { Count: > 0 })
{
if (_solutions is { Count: > 0 })
_solutions.Clear();
else
_solutions = new(solutions.Count);
foreach (var (name, netSolution) in solutions)
{
if (_entityManager.TryGetEntity(netSolution, out var solution))
_solutions.Add(name, solution.Value);
}
}
else
_solutions = null;
_solutions = solutions;
if (_solutions == null)
return;
int i = 0;
int selectedIndex = 0; // Default to the first solution if none are found.
foreach (var (name, _) in _solutions)
foreach (var solution in _solutions.Keys)
{
SolutionOption.AddItem(name, i);
SolutionOption.SetItemMetadata(i, name);
SolutionOption.AddItem(solution, i);
SolutionOption.SetItemMetadata(i, solution);
if (name == _selectedSolution)
selectedIndex = i;
if (solution == _selectedSolution)
SolutionOption.Select(i);
i++;
}
@@ -321,11 +300,14 @@ namespace Content.Client.Administration.UI.ManageSolutions
// No applicable solutions
Close();
Dispose();
return;
}
SolutionOption.Select(selectedIndex);
_selectedSolution = (string?) SolutionOption.SelectedMetadata;
if (_selectedSolution == null || !_solutions.ContainsKey(_selectedSolution))
{
// the previously selected solution is no longer valid.
SolutionOption.Select(0);
_selectedSolution = (string?) SolutionOption.SelectedMetadata;
}
}
}
}