string FieldFmt(GenFieldInfo info) { StringBuilder sb = new StringBuilder(); if ((info.flags & GenBindingFlags.Public) != 0) { sb.Append("public "); } if ((info.flags & GenBindingFlags.Static) != 0) { sb.Append("static "); } sb.Append(info.type + " "); sb.Append(info.name); if (info.def != null) { sb.Append(" = "); sb.Append(info.def); } sb.Append(";"); return(sb.ToString()); }
public static GenFieldInfo AddPublicField(GenClassInfo classInfo, string type, string name) { GenFieldInfo fieldInfo = new GenFieldInfo(); fieldInfo.flags |= GenBindingFlags.Public; fieldInfo.type = type; fieldInfo.name = name; for (int i = 0; i < classInfo.fields.Count; i++) { if (classInfo.fields[i].name == name) { Debug.LogError("当前类中包含相同的type" + type + "name" + name + "的字段"); return(null); } } classInfo.fields.Add(fieldInfo); return(fieldInfo); }