private static IEnumerable <string> ProcessBINValue(BINFileValue value) { List <string> strings = new List <string>(); if (value.Type == BINFileValueType.String) { string valueString = value.Value as string; strings.Add(valueString); if ((valueString.StartsWith("ASSETS/", true, null) || valueString.StartsWith("LEVELS/", true, null)) && Path.GetExtension(valueString) == ".dds") { int index = valueString.LastIndexOf('/'); strings.Add(valueString.Insert(index + 1, "2x_")); strings.Add(valueString.Insert(index + 1, "4x_")); } } else if (value.Type == BINFileValueType.AdditionalOptionalData) { strings.AddRange(ProcessBINAdditionalData(value.Value as BINFileAdditionalData)); } else if (value.Type == BINFileValueType.Container) { strings.AddRange(ProcessBINContainer(value.Value as BINFileContainer)); } else if (value.Type == BINFileValueType.Embedded || value.Type == BINFileValueType.Structure) { strings.AddRange(ProcessBINStructure(value.Value as BINFileStructure)); } else if (value.Type == BINFileValueType.Map) { strings.AddRange(ProcessBINMap(value.Value as BINFileMap)); } return(strings); }
private static IEnumerable <string> ProcessBINValue(BINFileValue value) { List <string> strings = new List <string>(); if (value.Type == BINFileValueType.String) { strings.Add(value.Value as string); } else if (value.Type == BINFileValueType.AdditionalOptionalData) { strings.AddRange(ProcessBINAdditionalData(value.Value as BINFileAdditionalData)); } else if (value.Type == BINFileValueType.Container) { strings.AddRange(ProcessBINContainer(value.Value as BINFileContainer)); } else if (value.Type == BINFileValueType.Embedded || value.Type == BINFileValueType.Structure) { strings.AddRange(ProcessBINStructure(value.Value as BINFileStructure)); } else if (value.Type == BINFileValueType.Map) { strings.AddRange(ProcessBINMap(value.Value as BINFileMap)); } return(strings.AsEnumerable()); }