public void UpdateUserInterface() { IdCardConsoleBoundUserInterfaceState newState; // this could be prettier if (TargetIdSlot.Item is not { Valid : true } targetIdEntity) { var privilegedIdName = string.Empty; if (PrivilegedIdSlot.Item is { Valid : true } item) { privilegedIdName = _entities.GetComponent <MetaDataComponent>(item).EntityName; } newState = new IdCardConsoleBoundUserInterfaceState( PrivilegedIdSlot.HasItem, PrivilegedIdIsAuthorized(), false, null, null, null, privilegedIdName, string.Empty); }
private void UpdateUserInterface() { var isPrivilegedIdPresent = _privilegedIdContainer.ContainedEntity != null; var targetIdEntity = _targetIdContainer.ContainedEntity; IdCardConsoleBoundUserInterfaceState newState; // this could be prettier if (targetIdEntity == null) { newState = new IdCardConsoleBoundUserInterfaceState( isPrivilegedIdPresent, PrivilegedIdIsAuthorized(), false, null, null, null, _privilegedIdContainer.ContainedEntity?.Name ?? "", _targetIdContainer.ContainedEntity?.Name ?? ""); } else { var targetIdComponent = targetIdEntity.GetComponent <IdCardComponent>(); var targetAccessComponent = targetIdEntity.GetComponent <AccessComponent>(); newState = new IdCardConsoleBoundUserInterfaceState( isPrivilegedIdPresent, PrivilegedIdIsAuthorized(), true, targetIdComponent.FullName, targetIdComponent.JobTitle, targetAccessComponent.Tags.ToArray(), _privilegedIdContainer.ContainedEntity?.Name ?? "", _targetIdContainer.ContainedEntity?.Name ?? ""); } UserInterface?.SetState(newState); }
public void UpdateState(IdCardConsoleBoundUserInterfaceState state) { _privilegedIdButton.Text = state.IsPrivilegedIdPresent ? _localizationManager.GetString("Remove privileged ID card") : _localizationManager.GetString("Insert privileged ID card"); _targetIdButton.Text = state.IsTargetIdPresent ? _localizationManager.GetString("Remove target ID card") : _localizationManager.GetString("Insert target ID card"); var interfaceEnabled = state.IsPrivilegedIdPresent && state.IsPrivilegedIdAuthorized && state.IsTargetIdPresent; _fullNameLabel.Modulate = interfaceEnabled ? Color.White : Color.Gray; _fullNameLineEdit.Editable = interfaceEnabled; _fullNameLineEdit.Text = state.TargetIdFullName; _jobTitleLabel.Modulate = interfaceEnabled ? Color.White : Color.Gray; _jobTitleLineEdit.Editable = interfaceEnabled; _jobTitleLineEdit.Text = state.TargetIdJobTitle; foreach (var(accessName, button) in _accessButtons) { button.Disabled = !interfaceEnabled; if (interfaceEnabled) { button.Pressed = state.TargetIdAccessList.Contains(accessName); } } _submitButton.Disabled = !interfaceEnabled; }