Files
OldThink/Content.Client/Research/UI/ResearchClientServerSelectionMenu.xaml.cs
Remuchi eeed240df0 [Tweak] Смешное с экономикой. (#451)
* tweak: цены продажи некоторых предметов понижены

* tweak: сервера РнД теперь не работают между гридами

* tweak: подняты цены в раздатчиках в среднем в два раза. А может больше

* tweak: тебя забыли

* add: добавим буквы
2024-07-17 13:57:09 +03:00

64 lines
2.2 KiB
C#

using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML;
namespace Content.Client.Research.UI
{
[GenerateTypedNameReferences]
public sealed partial class ResearchClientServerSelectionMenu : DefaultWindow
{
private List<int> _serverIds = [];
private int _selectedServerId = -1;
private ResearchClientBoundUserInterface Owner { get; }
public ResearchClientServerSelectionMenu(ResearchClientBoundUserInterface owner)
{
RobustXamlLoader.Load(this);
IoCManager.InjectDependencies(this);
Owner = owner;
Servers.OnItemSelected += OnItemSelected;
Servers.OnItemDeselected += OnItemDeselected;
}
private void OnItemSelected(ItemList.ItemListSelectedEventArgs itemListSelectedEventArgs)
{
Owner.SelectServer(_serverIds[itemListSelectedEventArgs.ItemIndex]);
}
private void OnItemDeselected(ItemList.ItemListDeselectedEventArgs itemListDeselectedEventArgs)
{
Owner.DeselectServer();
}
public void Populate(List<string> serverNames, List<int> serverIds, int selectedServerId)
{
_serverIds = serverIds;
_selectedServerId = selectedServerId;
// Disable so we can select the new selected server without triggering a new sync request.
Servers.OnItemSelected -= OnItemSelected;
Servers.OnItemDeselected -= OnItemDeselected;
Servers.Clear();
for (var i = 0; i < serverIds.Count; i++)
{
var id = serverIds[i];
var name = serverNames[i];
Servers.AddItem(Loc.GetString("research-client-server-selection-menu-server-entry-text", ("id", id),
("serverName", name)));
if (id == _selectedServerId)
{
Servers[i].Selected = true;
}
}
Servers.OnItemSelected += OnItemSelected;
Servers.OnItemDeselected += OnItemDeselected;
}
}
}