Files
2026-09-24 20:49:06 +03:00

41 lines
1019 B
C#

using System;
using System.Collections.Generic;
namespace UnityEngine.Recorder
{
[Serializable]
class SerializedDictionary<TKey, TValue> : ISerializationCallbackReceiver
{
[SerializeField] List<TKey> m_Keys = new List<TKey>();
[SerializeField] List<TValue> m_Values = new List<TValue>();
readonly Dictionary<TKey, TValue> m_Dictionary = new Dictionary<TKey, TValue>();
public Dictionary<TKey, TValue> dictionary
{
get { return m_Dictionary; }
}
public void OnBeforeSerialize()
{
m_Keys.Clear();
m_Values.Clear();
foreach (var keyPair in m_Dictionary)
{
m_Keys.Add(keyPair.Key);
m_Values.Add(keyPair.Value);
}
}
public void OnAfterDeserialize()
{
m_Dictionary.Clear();
for (int i = 0; i < m_Keys.Count; ++i)
m_Dictionary.Add(m_Keys[i], m_Values[i]);
}
}
}