Beispiel #1
0
 public AppearanceEntryLocation(CharacterCustomizationAppearances.Section _sec, AppearanceEntryType _type, string _searchString, AppearanceField _field = AppearanceField.FirstString)
 {
     Section      = _sec;
     EntryType    = _type;
     EntryField   = _field;
     SearchString = _searchString;
 }
Beispiel #2
0
        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");
 }
Beispiel #4
0
        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;
                        }
                    });
                }
            }
        }
Beispiel #5
0
        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);
                }
            }
        }