protected override object _Deserialize(string name, FFieldInfo info, SerializeTool tool, object obj = null) { SetName(name, info); switch (info.FType) { case FFieldType.F_Int: return(EditorGUILayout.IntField(tool.PopInt(name))); case FFieldType.F_Bool: return(EditorGUILayout.Toggle(tool.PopBool(name))); case FFieldType.F_Byte: return((byte)EditorGUILayout.IntField(tool.PopByte(name))); case FFieldType.F_Enum: return(EditorGUILayout.IntField(tool.PopInt(name))); case FFieldType.F_Float: return(EditorGUILayout.FloatField(tool.PopFloat(name))); case FFieldType.F_Long: return(EditorGUILayout.LongField(tool.PopLong(name))); case FFieldType.F_String: return(EditorGUILayout.TextField(tool.PopString(name))); default: break; } return(base._Deserialize(name, info, tool, obj)); }