Esempio n. 1
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);
        }
        private void Serialize(string path, string fileName, BaseEditorFieldWrapper wrapper, object value)
        {
            wrapper.SetValue(value);
            if (!(wrapper is BaseArrayFieldWrapper arrayWrapper))
            {
                WriteFile(path, wrapper);
                return;
            }

            arrayWrapper.foldout = EditorDrawUtility.GetFoldout(fileName);
            WriteFile(path, arrayWrapper);
        }
Esempio n. 3
0
        private bool Deserialize(BaseEditorFieldWrapper wrapper, out object value)
        {
            value = null;
            if (!Exists())
            {
                return(false);
            }

            wrapper.ResetValue();
            ReadFile(m_path, wrapper);

            if (wrapper is BaseArrayFieldWrapper arrayWrapper)
            {
                MightyGUIUtilities.SetFoldout(m_fileName, arrayWrapper.foldout);
            }

            wrapper.GetValue(out value);
            return(value != null);
        }
        private bool Deserialize(string path, string fileName, BaseEditorFieldWrapper wrapper, out object value)
        {
            value = null;
            if (!Exists(path))
            {
                return(false);
            }

            wrapper.ResetValue();
            ReadFile(path, wrapper);

            if (wrapper is BaseArrayFieldWrapper arrayWrapper)
            {
                EditorDrawUtility.SetFoldout(fileName, arrayWrapper.foldout);
            }

            wrapper.GetValue(out value);
            return(value != null);
        }
Esempio n. 5
0
        private static void ReadFile(string filePath, BaseEditorFieldWrapper wrapper)
        {
            try
            {
                byte[] bytes;
                using (var stream = File.OpenRead($"{filePath}.json"))
                {
                    var length = (int)stream.Length;
                    bytes = new byte[length];
                    stream.Seek(0, SeekOrigin.Begin);
                    stream.Read(bytes, 0, length);
                }

                EditorJsonUtility.FromJsonOverwrite(new UTF8Encoding().GetString(bytes), wrapper);
            }
            catch
            {
                // ignored
            }
        }
Esempio n. 6
0
        private static void WriteFile(string filePath, BaseEditorFieldWrapper wrapper)
        {
            var json  = EditorJsonUtility.ToJson(wrapper);
            var bytes = Encoding.GetBytes(json);

            try
            {
                using (var stream = File.Open($"{filePath}.json", FileMode.OpenOrCreate, FileAccess.Write))
                {
                    var length = bytes.Length;
                    stream.Seek(0, SeekOrigin.Begin);
                    stream.Write(bytes, 0, length);
                    stream.SetLength(length);
                }
            }
            catch
            {
                // ignored
            }
        }