Fixed list length search
This commit is contained in:
@@ -247,11 +247,14 @@ namespace CodeGenerator {
|
|||||||
//Cast to array the fields to avoid multiple enumerations
|
//Cast to array the fields to avoid multiple enumerations
|
||||||
var dnaFields = fields as BlendFile.DnaField[] ?? fields.ToArray();
|
var dnaFields = fields as BlendFile.DnaField[] ?? fields.ToArray();
|
||||||
foreach (var field in dnaFields) {
|
foreach (var field in dnaFields) {
|
||||||
if (ListMarkerStr.Any(s => field.Name.Contains(s))) {
|
if (ListMarkerStr.Any(s => field.Name.Contains(s)) &&
|
||||||
|
!ListLenghtStr.Any(s2 => field.Name.Contains(s2))) {
|
||||||
|
|
||||||
Log($"Found list field {field.Name}");
|
Log($"Found list field {field.Name}");
|
||||||
Log($"Searching for list length field");
|
Log($"Searching for list length field");
|
||||||
var listLengthField = dnaFields.FirstOrDefault(f =>
|
|
||||||
f.Name.Contains(field.Name) && ListLenghtStr.Any(s => f.Name.Contains(s)));
|
var listLengthField = dnaFields.FirstOrDefault(f => f.Name.Contains(field.Name.ParseFName()) &&
|
||||||
|
ListLenghtStr.Any(s2 => f.Name.Contains(s2)));
|
||||||
|
|
||||||
if (listLengthField == null)
|
if (listLengthField == null)
|
||||||
Log($"No list length field found for {field.Name}");
|
Log($"No list length field found for {field.Name}");
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ namespace CodeGenerator {
|
|||||||
public static class StrExt {
|
public static class StrExt {
|
||||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||||
public static string ParseFName(this string str) {
|
public static string ParseFName(this string str) {
|
||||||
str = str.Replace("*", "ptr_");
|
str = str.Replace("*", "");
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user