private void SetupUserValueInput()
        {
            UserValueIsVisible         = false;
            UserDropdownValueIsVisible = false;
            KeybindIsVisible           = false;

            // Event operators don't have any form of input
            if (SelectedOperator.Value == "changed" || SelectedOperator.Value == "decreased" || SelectedOperator.Value == "increased")
            {
                return;
            }

            if (SelectedDataModelProp.Type != null && SelectedDataModelProp.Type.Contains("hotkey"))
            {
                KeybindIsVisible = true;
            }
            else if (SelectedDataModelProp.Type == "Boolean")
            {
                UserDropdownValueIsVisible = true;
            }
            else if (SelectedDataModelProp.EnumValues != null)
            {
                DropdownValues.Clear();
                DropdownValues.AddRange(SelectedDataModelProp.EnumValues);
                UserDropdownValueIsVisible = true;
            }
            else
            {
                UserValueIsVisible = true;
            }
        }
        public void SetupPropertyInput()
        {
            Operators.Clear();
            DropdownValues.Clear();
            switch (SelectedDataModelProp.Type)
            {
            case "Int32":
            case "Single":
                Operators.AddRange(_int32Operators);
                UserValueIsVisible = true;
                break;

            case "Boolean":
                Operators.AddRange(_boolOperators);
                DropdownValues.Add("True");
                DropdownValues.Add("False");
                UserDropdownValueIsVisible = true;
                break;

            case "String":
                Operators.AddRange(_stringOperators);
                UserValueIsVisible = true;
                break;

            default:
                Operators.AddRange(_operators);
                UserValueIsVisible = true;
                break;
            }
            // If the selected value is in a list, prefix all choices with list choices
            if (SelectedDataModelProp.Path != null && SelectedDataModelProp.Path.Contains("("))
            {
                var listOperators = new List <NamedOperator>();
                foreach (var o in Operators)
                {
                    listOperators.AddRange(_listOperatorsPrefixes.Select(p => new NamedOperator(p.Display + " " + o.Display.ToLower(), p.Value + "|" + o.Value)));
                }

                Operators.Clear();
                Operators.AddRange(listOperators);
            }
            // Add Changed operator is the type is event
            if (_editorViewModel.ProposedLayer.IsEvent)
            {
                Operators.Add(new NamedOperator("Changed", "changed"));
                // Also add decreased and increased operator on numbers
                if (SelectedDataModelProp.Type == "Int32" || SelectedDataModelProp.Type == "Single")
                {
                    Operators.Add(new NamedOperator("Decreased", "decreased"));
                    Operators.Add(new NamedOperator("Increased", "increased"));
                }
            }

            SetupUserValueInput();
        }
示例#3
0
 protected override IEnumerable <ValidationResult> ValidateCore()
 {
     if (!CanPlayerView && IncludeInPrint)
     {
         yield return
             (new ValidationResult("Невозможно включить в распечатки поле, скрытое от игрока."));
     }
     if (!CanPlayerView && FieldViewType.SupportsPricing() &&
         ((FieldViewType.HasValuesList() && DropdownValues.Any(v => v.Price != 0)) || Price != 0))
     {
         yield return
             (new ValidationResult("Нельзя скрыть от игрока поле, влияющее на размер взноса."));
     }
 }
        public void SetupPropertyInput()
        {
            Operators.Clear();
            DropdownValues.Clear();

            switch (SelectedDataModelProp.Type)
            {
            case "Int32":
            case "Single":
                Operators.AddRange(_int32Operators);
                UserValueIsVisible = true;
                break;

            case "Boolean":
                Operators.AddRange(_boolOperators);
                DropdownValues.Add("True");
                DropdownValues.Add("False");
                UserDropdownValueIsVisible = true;
                break;

            case "String":
                Operators.AddRange(_stringOperators);
                UserValueIsVisible = true;
                break;

            default:
                Operators.AddRange(_operators);
                UserValueIsVisible = true;
                break;
            }

            // Add Changed operator is the type is event
            if (_editorViewModel.ProposedLayer.IsEvent)
            {
                Operators.Add(new NamedOperator("Changed", "changed"));
                // Also add decreased and increased operator on numbers
                if (SelectedDataModelProp.Type == "Int32" || SelectedDataModelProp.Type == "Single")
                {
                    Operators.Add(new NamedOperator("Decreased", "decreased"));
                    Operators.Add(new NamedOperator("Increased", "increased"));
                }
            }

            SetupUserValueInput();
        }
示例#5
0
 void ListItemClicked(string value)
 {
     SelectedValue = DropdownValues.First(x => x.Key == value);
     OnDropdownChanged(SelectedValue);
 }
示例#6
0
 void Reload()
 {
     SelectedValue = DropdownValues.First();
     ListItemSelectedClass(SelectedValue);
 }
示例#7
0
 protected override void OnInit()
 {
     SelectedValue = DropdownValues.First();
     ListItemSelectedClass(SelectedValue);
 }