public void Serialize(object value, Type type) { var wrapper = EditorSerializedFieldUtilities.GetWrapperForType(type); if (wrapper != null) { // if (type.IsEnum) // value = Enum.ToObject(type, value); Serialize(wrapper, value); return; } if (type.GetCustomAttribute(typeof(SerializableAttribute), true) == null) { return; } wrapper = EditorSerializedFieldUtilities.GetWrapperForType(typeof(bool)); wrapper.SetValue(MightyGUIUtilities.GetFoldout(m_fileName)); WriteFile(m_path, wrapper); foreach (var field in type.GetSerializableFields()) { EditorFieldsDatabase.GetEditorField(m_fileName).Serialize(field.GetValue(value), field.FieldType); } }
private void Serialize(BaseEditorFieldWrapper wrapper, object value) { wrapper.SetValue(value); if (!(wrapper is BaseArrayFieldWrapper arrayWrapper)) { WriteFile(m_path, wrapper); return; } arrayWrapper.foldout = MightyGUIUtilities.GetFoldout(m_fileName); WriteFile(m_path, arrayWrapper); }