public AppearanceEntryLocation(CharacterCustomizationAppearances.Section _sec, AppearanceEntryType _type, string _searchString, AppearanceField _field = AppearanceField.FirstString) { Section = _sec; EntryType = _type; EntryField = _field; SearchString = _searchString; }
public void SetValue(AppearanceField field, string searchString, object value) { var entries = GetEntries(searchString); foreach (object entry in entries) { if (entry is CharacterCustomizationAppearances.HashValueEntry) { switch (field) { case AppearanceField.FirstString: ((CharacterCustomizationAppearances.HashValueEntry)entry).FirstString = (string)value; break; case AppearanceField.Hash: ((CharacterCustomizationAppearances.HashValueEntry)entry).Hash = (ulong)value; break; case AppearanceField.SecondString: ((CharacterCustomizationAppearances.HashValueEntry)entry).SecondString = (string)value; break; } } else if (entry is CharacterCustomizationAppearances.ValueEntry) { switch (field) { case AppearanceField.FirstString: ((CharacterCustomizationAppearances.ValueEntry)entry).FirstString = (string)value; break; case AppearanceField.SecondString: ((CharacterCustomizationAppearances.ValueEntry)entry).SecondString = (string)value; break; } } } }
public string GetAppearanceValue(CharacterCustomizationAppearances.Section appearanceSection, AppearanceEntryType entryType, AppearanceField fieldToGet, string searchString) { foreach (CharacterCustomizationAppearances.AppearanceSection subSection in appearanceSection.AppearanceSections) { if (entryType == AppearanceEntryType.MainListEntry) { foreach (CharacterCustomizationAppearances.HashValueEntry mainListEntry in subSection.MainList) { if (CompareMainListAppearanceEntries(mainListEntry.SecondString, searchString) == true) { if (fieldToGet == AppearanceField.FirstString) { return(mainListEntry.FirstString); } else if (fieldToGet == AppearanceField.Hash) { return("hash(" + mainListEntry.Hash.ToString() + ")"); } else { return(mainListEntry.SecondString); } } } } else { foreach (CharacterCustomizationAppearances.ValueEntry additionalListEntry in subSection.AdditionalList) { if (additionalListEntry.FirstString == searchString) { if (fieldToGet == AppearanceField.FirstString) { return(additionalListEntry.FirstString); } else { return(additionalListEntry.SecondString); } } } } } return("default"); }
public void SetNullableHashEntry(string searchString, HashValueEntry defaultEntry, string[] sectionNames, AppearanceField setValueField = AppearanceField.Hash, Section baseMainSection = null, bool createAllMainSections = false) { var entries = GetAllEntries(AppearanceEntryType.MainListEntry, searchString); if (defaultEntry.Hash == 0 || defaultEntry.FirstString == null || defaultEntry.SecondString == null) { RemoveEntries(entries); } else { if (entries.Count < 1) { if (createAllMainSections == true) { foreach (Section mainSection in MainSections) { CreateEntry(defaultEntry, sectionNames, mainSection); } } else { if (baseMainSection == null) { baseMainSection = MainSections[0]; } CreateEntry(defaultEntry, sectionNames, baseMainSection); } } else { SetAllEntries(entries, (object entry) => { if (setValueField == AppearanceField.FirstString) { ((HashValueEntry)entry).FirstString = defaultEntry.FirstString; } else if (setValueField == AppearanceField.SecondString) { ((HashValueEntry)entry).SecondString = defaultEntry.SecondString; } else { ((HashValueEntry)entry).Hash = defaultEntry.Hash; } }); } } }
public string GetValue(CharacterCustomizationAppearances.Section appearanceSection, AppearanceEntryType entryType, AppearanceField fieldToGet, string searchString) { var entries = GetEntries(appearanceSection, entryType, searchString); if (entries.Count < 1) { return("default"); } if (entries[0] is CharacterCustomizationAppearances.HashValueEntry) { var castedEntry = (CharacterCustomizationAppearances.HashValueEntry)entries[0]; if (fieldToGet == AppearanceField.FirstString) { return(castedEntry.FirstString); } else if (fieldToGet == AppearanceField.Hash) { return(castedEntry.Hash.ToString()); } else { return(castedEntry.SecondString); } } else { var castedEntry = (CharacterCustomizationAppearances.ValueEntry)entries[0]; if (fieldToGet == AppearanceField.FirstString) { return(castedEntry.FirstString); } else { return(castedEntry.SecondString); } } }