/// <summary> /// this.GetSpecializationList(SpecializationSlots.None) gets a full list of specs /// this.GetSpecializationList(SpecializationSlots.Kit) will get a list of specs based on Kits /// </summary> /// <param name="slotType"></param> /// <returns></returns> protected List <string> GetSpecializationList(SpecializationSlots slotType) { var returnSpecializationList = new List <string>(); foreach (var specialization in SpecializationDictionaryByLocalizedName) { if (slotType == SpecializationSlots.None || slotType == specialization.Value.Slot) { if (returnSpecializationList.Contains(specialization.Key) == false) { returnSpecializationList.Add(specialization.Key); } } } return(returnSpecializationList); }
/// <summary> /// </summary> /// <param name="variableName">The name to display in the plugin settings</param> /// <param name="assemblyName">A unique name for this enum list, should be unique. Put your plugin class name in to avoid clashes.</param> /// <param name="value">The current value/selected value</param> /// <param name="slotType">SpecializationSlots.None, gets full list otherwise limits the returned list</param> /// <returns></returns> protected CPluginVariable GetSpecializationListPluginVariable(string variableName, string assemblyName, string value, SpecializationSlots slotType) { return(new CPluginVariable(variableName, String.Format("enum.{0}({1})", assemblyName, String.Join("|", GetSpecializationList(slotType).ToArray())), value)); }
public Specialization(SpecializationSlots slot, string name) { this.Slot = slot; this.Name = name; }