public string GetFabricSummary(IRemakeString str, bool tryGetDescriptor = true) { var sb = new StringBuilder(); if (tryGetDescriptor) { var item = $"{ItemUniqueID:00000}"; if (str.FabricParts.TryGetValue(item, out var parts)) { sb.Append(parts).AppendLine(":"); } } for (int i = 0; i < 8; i++) { var cd = GetFabricDescription(i); if (cd == Invalid) { continue; } var shifted = (i << 5); sb.Append(shifted.ToString("000")).Append('='); var name = $"{ItemUniqueID:00000}_{i}"; if (str.FabricColor.TryGetValue(name, out var desc)) { sb.Append(desc).Append(" (").Append(cd).AppendLine(")"); } else { sb.AppendLine(cd); } } return(sb.ToString()); }
public string GetBodySummary(IRemakeString str) { var sb = new StringBuilder(); var item = $"{ItemUniqueID:00000}"; if (str.BodyParts.TryGetValue(item, out var parts)) { sb.Append(parts).AppendLine(":"); } for (int i = 0; i < 8; i++) { var cd = GetBodyDescription(i); if (cd == Invalid) { continue; } sb.Append(i).Append('='); var name = $"{ItemUniqueID:00000}_{i}"; if (str.BodyColor.TryGetValue(name, out var desc)) { sb.Append(desc).Append(" (").Append(cd).AppendLine(")"); } else { sb.AppendLine(cd); } } return(sb.ToString()); }
public string GetBodySummary(IRemakeString str) { var sb = new StringBuilder(); var item = $"{ItemUniqueID:00000}"; if (str.BodyParts.TryGetValue(item, out var parts)) { sb.Append(parts).AppendLine(":"); } for (int i = 0; i < 8; i++) { var cd = GetBodyDescription(i); var name = $"{ItemUniqueID:00000}_{i}"; var hasBody = str.BodyColor.TryGetValue(name, out var desc); if (hasBody && cd != Invalid) { sb.Append(i).Append('=').Append(desc).Append(" (").Append(cd).AppendLine(")"); } else if (hasBody) { sb.Append(i).Append('=').AppendLine(desc); } // else don't add anything } return(sb.ToString()); }
public string GetFabricDescription(int colorIndex, IRemakeString str) { if (str.FabricColor.TryGetValue($"{ItemUniqueID:00000}_{colorIndex}", out var color)) { return($"{color} ({GetBodyDescription(colorIndex)})"); } var c0 = ReFabricPatternColors0[colorIndex]; var c1 = ReFabricPatternColors1[colorIndex]; return(GetColorText(c0, c1)); }
private static string GetItemInfo(ItemRemakeInfo info, IRemakeString str) { var sb = new StringBuilder(); var body = info.GetBodySummary(str); if (body.Length > 0) { sb.AppendLine(body); } var fabric = info.GetFabricSummary(str); if (fabric.Length > 0) { sb.AppendLine(fabric); } return(sb.ToString()); }