private void UpdateUI() { var numberOfFullSlots = 0; var characterButtonsGroup = new ButtonGroup(); Characters.RemoveAllChildren(); if (!_preferencesManager.ServerDataLoaded) { return; } _createNewCharacterButton.ToolTip = Loc.GetString("character-setup-gui-create-new-character-button-tooltip", ("maxCharacters", _preferencesManager.Settings !.MaxCharacterSlots)); foreach (var(slot, character) in _preferencesManager.Preferences !.Characters) { if (character is null) { continue; } numberOfFullSlots++; var characterPickerButton = new CharacterPickerButton(_entityManager, _preferencesManager, _prototypeManager, characterButtonsGroup, character); Characters.AddChild(characterPickerButton); var characterIndexCopy = slot; characterPickerButton.OnPressed += args => { _humanoidProfileEditor.Profile = (HumanoidCharacterProfile)character; _humanoidProfileEditor.CharacterSlot = characterIndexCopy; _humanoidProfileEditor.UpdateControls(); _preferencesManager.SelectCharacter(character); UpdateUI(); args.Event.Handle(); }; } _createNewCharacterButton.Disabled = numberOfFullSlots >= _preferencesManager.Settings.MaxCharacterSlots; Characters.AddChild(_createNewCharacterButton); }