Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
        }