using System; using System.Collections.Generic; using System.Runtime.Serialization; namespace UnityEngine.Serialization { // Token: 0x020004EF RID: 1263 internal class DictionarySerializationSurrogate : ISerializationSurrogate { // Token: 0x06003C32 RID: 15410 RVA: 0x0006A070 File Offset: 0x00068270 public void GetObjectData(object obj, SerializationInfo info, StreamingContext context) { Dictionary dictionary = (Dictionary)obj; dictionary.GetObjectData(info, context); } // Token: 0x06003C33 RID: 15411 RVA: 0x0006A090 File Offset: 0x00068290 public object SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector) { IEqualityComparer equalityComparer = (IEqualityComparer)info.GetValue("Comparer", typeof(IEqualityComparer)); Dictionary dictionary = new Dictionary(equalityComparer); if (info.MemberCount > 3) { KeyValuePair[] array = (KeyValuePair[])info.GetValue("KeyValuePairs", typeof(KeyValuePair[])); if (array != null) { foreach (KeyValuePair keyValuePair in array) { dictionary.Add(keyValuePair.Key, keyValuePair.Value); } } } return dictionary; } } }