| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- using Robust.Client.AutoGenerated;
- using Robust.Client.UserInterface.Controls;
- using Robust.Client.UserInterface.CustomControls;
- using Robust.Client.UserInterface.XAML;
- using Robust.Shared.Utility;
- namespace Content.Replay.Menu;
- [GenerateTypedNameReferences]
- public sealed partial class SelectReplayWindow : DefaultWindow
- {
- private readonly ReplayMainScreen _screen;
- public SelectReplayWindow(ReplayMainScreen screen)
- {
- RobustXamlLoader.Load(this);
- _screen = screen;
- ReplayList.OnItemSelected += OnItemSelected;
- }
- private void OnItemSelected(ItemList.ItemListSelectedEventArgs obj)
- {
- var path = (ResPath?) obj.ItemList[obj.ItemIndex].Metadata;
- _screen.SelectReplay(path);
- }
- public void Repopulate(List<(string Name, ResPath Path)> replays)
- {
- ReplayList.Clear();
- foreach (var (name, path) in replays)
- {
- ReplayList.AddItem(name).Metadata = path;
- }
- if (replays.Count > 0)
- {
- NoneLabel.Visible = false;
- ReplayList.Visible = true;
- }
- else
- {
- NoneLabel.Visible = true;
- ReplayList.Visible = false;
- }
- }
- public void UpdateSelected(ResPath? replay)
- {
- if (replay == null)
- {
- ReplayList.ClearSelected();
- return;
- }
- foreach (var item in ReplayList)
- {
- var path = (ResPath?) item.Metadata;
- item.Selected = path == replay;
- }
- }
- }
|