Beispiel #1
0
        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;
        }