コード例 #1
0
 public AdvancedObjectSelector(string id, string displayName, int priority, bool active, AdvancedObjectSelectorHandler handler, AdvancedObjectSelectorValidator validator)
 {
     this.id          = id;
     this.displayName = displayName;
     this.priority    = priority;
     this.handler     = handler;
     this.active      = active;
     this.validator   = validator;
 }
コード例 #2
0
        static AdvancedObjectSelector GenerateAdvancedObjectSelectorWrapper(Dictionary <int, AdvancedObjectSelectorValidator> validators, AdvancedObjectSelectorAttribute attribute, AdvancedObjectSelectorHandler handler)
        {
            if (!validators.TryGetValue(attribute.id.GetHashCode(), out var validator))
            {
                throw new CustomAttributeFormatException($"Advanced Object Selector id \"{attribute.id}\" does not have a matching validator.");
            }

            var priority    = attribute.defaultPriority;
            var active      = attribute.defaultActive;
            var displayName = string.IsNullOrEmpty(attribute.displayName) ? SearchUtils.ToPascalWithSpaces(attribute.id) : attribute.displayName;

            if (SearchSettings.TryGetObjectSelectorSettings(attribute.id, out var settings))
            {
                priority = settings.priority;
                active   = settings.active;
            }
            return(new AdvancedObjectSelector(attribute.id, displayName, priority, active, handler, validator));
        }