Example #1
0
 public void process(ModOption option)
 {
     if (option.cfgField.getAttr <CustomOrderAttribute>(true) is CustomOrderAttribute customOrder)
     {
         option.addHandler(new CustomOrderHandler(customOrder.modIDBefore));
     }
 }
Example #2
0
 public void process(ModOption option)
 {
     if (option.cfgField.getAttr <FieldAttribute>() is FieldAttribute fieldAttr)
     {
         if (fieldAttr.tooltipType != null || fieldAttr.tooltip != null)
         {
             option.addHandler(new Components.Tooltip.Add(fieldAttr.tooltipType, fieldAttr.tooltip));
         }
     }
 }
Example #3
0
                public void process(ModOption option)
                {
                    if (option.cfgField.getAttr <HideableAttribute>(true) is HideableAttribute hideableAttr)
                    {
                        string groupID = hideableAttr.groupID;

                        if (groupID == null)
                        {
                            option.cfgField.getAttrs <HideableAttribute>(true).forEach(attr => groupID ??= attr.groupID);
                        }

                        option.addHandler(new Components.Hider.Add(hideableAttr.visChecker, groupID));
                    }
                }
Example #4
0
                public void process(ModOption option)
                {
                    if (processed || !(processed = true))                     // process only the first added option
                    {
                        return;
                    }

                    Debug.assert(instance == null);                     // if this the first option, ModOptions shouldn't be created yet

                    if (option.cfgField.getAttr <NameAttribute>(true) is NameAttribute nameAttr)
                    {
                        if (nameAttr.tooltipType != null || nameAttr.tooltip != null)
                        {
                            option.addHandler(new Components.Tooltip.AddToHeading(nameAttr.tooltipType, nameAttr.tooltip));
                        }
                    }
                }