work on adminpanel & submodule update

This commit is contained in:
Paul
2022-01-04 21:12:34 +01:00
parent 4fdedc880d
commit 11510927d6
5 changed files with 40 additions and 19 deletions

View File

@@ -100,11 +100,29 @@ namespace Content.Client.Administration
return EnsurePlain(channelId); return EnsurePlain(channelId);
} }
public void EnsurePanelForLocalPlayer() public void Open(NetUserId? channelId = null)
{ {
var localPlayer = _playerManager.LocalPlayer; if (channelId == null)
if (localPlayer != null) {
EnsurePanel(localPlayer.UserId); var localPlayer = _playerManager.LocalPlayer;
if (localPlayer != null)
Open(localPlayer.UserId);
return;
}
if (_adminManager.HasFlag(AdminFlags.Adminhelp))
{
SelectChannel(channelId.Value);
return;
}
EnsurePlain(channelId.Value);
}
private void SelectChannel(NetUserId uid)
{
_adminWindow ??= new BwoinkWindow(this);
_adminWindow.SelectChannel(uid);
} }
public void Send(NetUserId channelId, string text) public void Send(NetUserId channelId, string text)

View File

@@ -108,15 +108,20 @@ namespace Content.Client.Administration.UI
if (!open) if (!open)
{ {
var pi = ChannelSelector SelectChannel(channel);
.PlayerItemList
.FirstOrDefault(i => ((PlayerInfo) i.Metadata!).SessionId == channel);
if (pi is not null)
pi.Selected = true;
} }
} }
public void SelectChannel(NetUserId channel)
{
var pi = ChannelSelector
.PlayerItemList
.FirstOrDefault(i => ((PlayerInfo) i.Metadata!).SessionId == channel);
if (pi is not null)
pi.Selected = true;
}
private void FixButtons() private void FixButtons()
{ {
Ban.Visible = _adminManager.HasFlag(AdminFlags.Ban); Ban.Visible = _adminManager.HasFlag(AdminFlags.Ban);
@@ -157,11 +162,12 @@ namespace Content.Client.Administration.UI
return sb.ToString(); return sb.ToString();
} }
public void SwitchToChannel(NetUserId ch) private void SwitchToChannel(NetUserId ch)
{ {
foreach (var bw in BwoinkArea.Children) foreach (var bw in BwoinkArea.Children)
bw.Visible = false; bw.Visible = false;
_bwoinkSystem.EnsurePanel(ch).Visible = true; var panel = _bwoinkSystem.EnsurePanel(ch);
panel.Visible = true;
} }
} }
} }

View File

@@ -25,16 +25,13 @@ namespace Content.Client.Administration.UI.CustomControls
_adminSystem = EntitySystem.Get<AdminSystem>(); _adminSystem = EntitySystem.Get<AdminSystem>();
IoCManager.InjectDependencies(this); IoCManager.InjectDependencies(this);
RobustXamlLoader.Load(this); RobustXamlLoader.Load(this);
}
protected override void EnteredTree()
{
// Fill the Option data // Fill the Option data
PopulateList(); PopulateList();
PlayerItemList.OnItemSelected += PlayerItemListOnOnItemSelected; PlayerItemList.OnItemSelected += PlayerItemListOnOnItemSelected;
PlayerItemList.OnItemDeselected += PlayerItemListOnOnItemDeselected; PlayerItemList.OnItemDeselected += PlayerItemListOnOnItemDeselected;
FilterLineEdit.OnTextChanged += FilterLineEditOnOnTextEntered; FilterLineEdit.OnTextChanged += FilterLineEditOnOnTextEntered;
_adminSystem.PlayerListChanged += PopulateList; _adminSystem.PlayerListChanged += PopulateList;
} }
private void FilterLineEditOnOnTextEntered(LineEdit.LineEditEventArgs obj) private void FilterLineEditOnOnTextEntered(LineEdit.LineEditEventArgs obj)

View File

@@ -23,13 +23,13 @@ namespace Content.Client.Commands
} }
if (args.Length == 0) if (args.Length == 0)
{ {
EntitySystem.Get<BwoinkSystem>().EnsurePanelForLocalPlayer(); EntitySystem.Get<BwoinkSystem>().Open();
} }
else else
{ {
if (Guid.TryParse(args[0], out var guid)) if (Guid.TryParse(args[0], out var guid))
{ {
EntitySystem.Get<BwoinkSystem>().EnsurePanel(new NetUserId(guid)); EntitySystem.Get<BwoinkSystem>().Open(new NetUserId(guid));
} }
else else
{ {