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());
    }
Example #2
0
    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);
    }