diff options
Diffstat (limited to 'GameCode/UnitySerializedDictionary.cs')
| -rw-r--r-- | GameCode/UnitySerializedDictionary.cs | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/GameCode/UnitySerializedDictionary.cs b/GameCode/UnitySerializedDictionary.cs deleted file mode 100644 index 3fc1906..0000000 --- a/GameCode/UnitySerializedDictionary.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -public abstract class UnitySerializedDictionary<TKey, TValue> : Dictionary<TKey, TValue>, ISerializationCallbackReceiver -{ - [SerializeField] - [HideInInspector] - private List<TKey> keyData = new List<TKey>(); - - [SerializeField] - [HideInInspector] - private List<TValue> valueData = new List<TValue>(); - - void ISerializationCallbackReceiver.OnAfterDeserialize() - { - Clear(); - for (int i = 0; i < keyData.Count && i < valueData.Count; i++) - { - base[keyData[i]] = valueData[i]; - } - } - - void ISerializationCallbackReceiver.OnBeforeSerialize() - { - keyData.Clear(); - valueData.Clear(); - using Enumerator enumerator = GetEnumerator(); - while (enumerator.MoveNext()) - { - KeyValuePair<TKey, TValue> current = enumerator.Current; - keyData.Add(current.Key); - valueData.Add(current.Value); - } - } -} |
