static void AppendResetAllMethod(StringBuilder sb, string schemaKey, Dictionary <string, object> schemaData) { bool shouldAppendSpace = false; sb.Append("".PadLeft(GDECodeGenConstants.IndentLevel2)); sb.Append(GDECodeGenConstants.ResetAllDeclaration); sb.Append("\n"); // Reset all fields List <string> fields = GDEItemManager.SchemaFieldKeys(schemaKey, schemaData); foreach (string fieldName in fields) { if (shouldAppendSpace) { sb.Append("\n"); } sb.Append("".PadLeft(GDECodeGenConstants.IndentLevel3)); sb.AppendFormat(GDECodeGenConstants.ResetToDefaultFormat, fieldName); shouldAppendSpace = true; } if (shouldAppendSpace) { sb.Append("\n"); } // Call reset on any custom types for (int dimension = 0; dimension <= 2; dimension++) { fields = GDEItemManager.SchemaCustomFieldKeys(schemaKey, dimension); foreach (string fieldName in fields) { if (shouldAppendSpace) { sb.Append("\n"); } sb.Append("".PadLeft(GDECodeGenConstants.IndentLevel3)); if (dimension == 0) { sb.AppendFormat(GDECodeGenConstants.CustomResetAllFormat, fieldName); } else { sb.AppendFormat(GDECodeGenConstants.CustomResetAllFormat, fieldName); } shouldAppendSpace = true; } } sb.Append("\n"); sb.Append("\n"); sb.Append("".PadLeft(GDECodeGenConstants.IndentLevel3)); sb.Append(GDECodeGenConstants.ResetAllEndMethod); }
List <FieldInfo> GetFieldInfoFromSchema(string schemaKey, Dictionary <string, object> schemaData) { List <FieldInfo> fieldInfos = new List <FieldInfo>(); List <string> fieldKeys = GDEItemManager.SchemaFieldKeys(schemaKey, schemaData); foreach (var fieldKey in fieldKeys) { int listDimension; FieldInfo field = new FieldInfo(); field.name = fieldKey; string isListKey = string.Format(GDMConstants.MetaDataFormat, GDMConstants.IsListPrefix, fieldKey); schemaData.TryGetInt(isListKey, out listDimension); // Set the list dimension if (listDimension == 0) { field.isList = false; field.is2DList = false; } else if (listDimension == 1) { field.isList = true; field.is2DList = false; } else { field.isList = false; field.is2DList = true; } // Parse the field type string customType; field.type = ParseFieldType(fieldKey, schemaData, out customType); if (field.type.Equals(BasicFieldType.Undefined)) { field.isCustom = true; field.customType = customType; } fieldInfos.Add(field); } return(fieldInfos); }