public void Populate(WiresBoundUserInterfaceState state) { _wiresContainer.RemoveAllChildren(); foreach (var wire in state.WiresList) { var container = new HBoxContainer(); var newLabel = new Label() { Text = $"{_localizationManager.GetString(wire.Color.Name())}: ", FontColorOverride = wire.Color, }; container.AddChild(newLabel); var newButton = new Button() { Text = _localizationManager.GetString("Pulse"), }; newButton.OnPressed += _ => Owner.PerformAction(wire.Guid, WiresAction.Pulse); container.AddChild(newButton); newButton = new Button() { Text = wire.IsCut ? _localizationManager.GetString("Mend") : _localizationManager.GetString("Cut"), }; newButton.OnPressed += _ => Owner.PerformAction(wire.Guid, wire.IsCut ? WiresAction.Mend : WiresAction.Cut); container.AddChild(newButton); _wiresContainer.AddChild(container); } foreach (var status in state.Statuses) { var container = new HBoxContainer(); container.AddChild(new Label { Text = status }); _wiresContainer.AddChild(container); } }
// Deletes all rows public void Clear() { _vBox.RemoveAllChildren(); }
private void RefreshPlayerList(ButtonEventArgs args) { PlayerList.RemoveAllChildren(); var playerManager = IoCManager.Resolve <IPlayerManager>(); var sessions = playerManager.Sessions; PlayerCount.Text = $"Players: {playerManager.PlayerCount}"; Color altColor = Color.FromHex("#292B38"); Color defaultColor = Color.FromHex("#2F2F3B"); var header = new HBoxContainer { SizeFlagsHorizontal = SizeFlags.FillExpand, SeparationOverride = 4, Children = { new Label { Text = "Name", SizeFlagsStretchRatio = 2f, SizeFlagsHorizontal = SizeFlags.FillExpand }, new VSeperator(), new Label { Text = "Player", SizeFlagsStretchRatio = 2f, SizeFlagsHorizontal = SizeFlags.FillExpand }, new VSeperator(), new Label { Text = "Status", SizeFlagsStretchRatio = 1f, SizeFlagsHorizontal = SizeFlags.FillExpand }, new VSeperator(), new Label { Text = "Ping", SizeFlagsStretchRatio = 1f, SizeFlagsHorizontal = SizeFlags.FillExpand, Align = Label.AlignMode.Right }, } }; PlayerList.AddChild(new PanelContainer { PanelOverride = new StyleBoxFlat { BackgroundColor = altColor, }, Children = { header } }); PlayerList.AddChild(new HSeparator()); var useAltColor = false; foreach (var player in sessions) { var hbox = new HBoxContainer { SizeFlagsHorizontal = SizeFlags.FillExpand, SeparationOverride = 4, Children = { new Label { Text = player.Name, SizeFlagsStretchRatio = 2f, SizeFlagsHorizontal = SizeFlags.FillExpand, ClipText = true }, new VSeperator(), new Label { Text = player.AttachedEntity?.Name, SizeFlagsStretchRatio = 2f, SizeFlagsHorizontal = SizeFlags.FillExpand, ClipText = true }, new VSeperator(), new Label { Text = player.Status.ToString(), SizeFlagsStretchRatio = 1f, SizeFlagsHorizontal = SizeFlags.FillExpand }, new VSeperator(), new Label { Text = player.Ping.ToString(), SizeFlagsStretchRatio = 1f, SizeFlagsHorizontal = SizeFlags.FillExpand, Align = Label.AlignMode.Right }, } }; PlayerList.AddChild(new PanelContainer { PanelOverride = new StyleBoxFlat { BackgroundColor = useAltColor ? altColor : defaultColor, }, Children = { hbox } }); useAltColor ^= true; } }