From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- .../SerializableDictionary.cs | 126 --------------------- 1 file changed, 126 deletions(-) delete mode 100644 Assets/ThirdParty/SerializableDictionary/SerializableDictionary.cs (limited to 'Assets/ThirdParty/SerializableDictionary/SerializableDictionary.cs') diff --git a/Assets/ThirdParty/SerializableDictionary/SerializableDictionary.cs b/Assets/ThirdParty/SerializableDictionary/SerializableDictionary.cs deleted file mode 100644 index 4614ed7f..00000000 --- a/Assets/ThirdParty/SerializableDictionary/SerializableDictionary.cs +++ /dev/null @@ -1,126 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Runtime.Serialization; -using UnityEngine; - -public abstract class SerializableDictionaryBase : Dictionary, ISerializationCallbackReceiver -{ - [SerializeField] - TKey[] m_keys; - [SerializeField] - TValueStorage[] m_values; - - public SerializableDictionaryBase() - { - } - - public SerializableDictionaryBase(IDictionary dict) : base(dict.Count) - { - foreach (var kvp in dict) - { - this[kvp.Key] = kvp.Value; - } - } - - protected SerializableDictionaryBase(SerializationInfo info, StreamingContext context) : base(info,context){} - - protected abstract void SetValue(TValueStorage[] storage, int i, TValue value); - protected abstract TValue GetValue(TValueStorage[] storage, int i); - - public void CopyFrom(IDictionary dict) - { - this.Clear(); - foreach (var kvp in dict) - { - this[kvp.Key] = kvp.Value; - } - } - - public void OnAfterDeserialize() - { - if(m_keys != null && m_values != null && m_keys.Length == m_values.Length) - { - this.Clear(); - int n = m_keys.Length; - for(int i = 0; i < n; ++i) - { - this[m_keys[i]] = GetValue(m_values, i); - } - - m_keys = null; - m_values = null; - } - - } - - public void OnBeforeSerialize() - { - int n = this.Count; - m_keys = new TKey[n]; - m_values = new TValueStorage[n]; - - int i = 0; - foreach(var kvp in this) - { - m_keys[i] = kvp.Key; - SetValue(m_values, i, kvp.Value); - ++i; - } - } -} - -public class SerializableDictionary : SerializableDictionaryBase -{ - public SerializableDictionary() - { - } - - public SerializableDictionary(IDictionary dict) : base(dict) - { - } - - protected SerializableDictionary(SerializationInfo info, StreamingContext context) : base(info,context){} - - protected override TValue GetValue(TValue[] storage, int i) - { - return storage[i]; - } - - protected override void SetValue(TValue[] storage, int i, TValue value) - { - storage[i] = value; - } -} - -public static class SerializableDictionary -{ - public class Storage - { - public T data; - } -} - -public class SerializableDictionary : SerializableDictionaryBase where TValueStorage : SerializableDictionary.Storage, new() -{ - public SerializableDictionary() - { - } - - public SerializableDictionary(IDictionary dict) : base(dict) - { - } - - protected SerializableDictionary(SerializationInfo info, StreamingContext context) : base(info,context){} - - protected override TValue GetValue(TValueStorage[] storage, int i) - { - return storage[i].data; - } - - protected override void SetValue(TValueStorage[] storage, int i, TValue value) - { - storage[i] = new TValueStorage(); - storage[i].data = value; - } -} -- cgit v1.1-26-g67d0