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);
}
public void EnsurePanelForLocalPlayer()
public void Open(NetUserId? channelId = null)
{
if (channelId == null)
{
var localPlayer = _playerManager.LocalPlayer;
if (localPlayer != null)
EnsurePanel(localPlayer.UserId);
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)

View File

@@ -107,6 +107,12 @@ namespace Content.Client.Administration.UI
ChannelSelector.Sort();
if (!open)
{
SelectChannel(channel);
}
}
public void SelectChannel(NetUserId channel)
{
var pi = ChannelSelector
.PlayerItemList
@@ -115,7 +121,6 @@ namespace Content.Client.Administration.UI
if (pi is not null)
pi.Selected = true;
}
}
private void FixButtons()
{
@@ -157,11 +162,12 @@ namespace Content.Client.Administration.UI
return sb.ToString();
}
public void SwitchToChannel(NetUserId ch)
private void SwitchToChannel(NetUserId ch)
{
foreach (var bw in BwoinkArea.Children)
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>();
IoCManager.InjectDependencies(this);
RobustXamlLoader.Load(this);
}
protected override void EnteredTree()
{
// Fill the Option data
PopulateList();
PlayerItemList.OnItemSelected += PlayerItemListOnOnItemSelected;
PlayerItemList.OnItemDeselected += PlayerItemListOnOnItemDeselected;
FilterLineEdit.OnTextChanged += FilterLineEditOnOnTextEntered;
_adminSystem.PlayerListChanged += PopulateList;
}
private void FilterLineEditOnOnTextEntered(LineEdit.LineEditEventArgs obj)

View File

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