// Token: 0x060000E6 RID: 230 RVA: 0x00008320 File Offset: 0x00006520 public static void Load(GlobalVariables globalVariables, string version) { if (globalVariables == null) { return; } if (string.IsNullOrEmpty(version)) { BinaryDeserializationDeprecated.Load(globalVariables); return; } globalVariables.Variables = null; FieldSerializationData fieldSerializationData; if (globalVariables.VariableData == null || (fieldSerializationData = globalVariables.VariableData.fieldSerializationData).byteData == null || fieldSerializationData.byteData.Count == 0) { return; } if (fieldSerializationData.typeName.Count > 0) { BinaryDeserializationDeprecated.Load(globalVariables); return; } VariableSerializationData variableData = globalVariables.VariableData; fieldSerializationData.byteDataArray = fieldSerializationData.byteData.ToArray(); BinaryDeserialization.updatedSerialization = (globalVariables.Version.CompareTo("1.5.7") >= 0); if (variableData.variableStartIndex != null) { List <SharedVariable> list = new List <SharedVariable>(); Dictionary <int, int> dictionary = ObjectPool.Get <Dictionary <int, int> >(); for (int i = 0; i < variableData.variableStartIndex.Count; i++) { int num = variableData.variableStartIndex[i]; int num2; if (i + 1 < variableData.variableStartIndex.Count) { num2 = variableData.variableStartIndex[i + 1]; } else { num2 = fieldSerializationData.startIndex.Count; } dictionary.Clear(); for (int j = num; j < num2; j++) { dictionary.Add(fieldSerializationData.fieldNameHash[j], fieldSerializationData.startIndex[j]); } SharedVariable sharedVariable = BinaryDeserialization.BytesToSharedVariable(fieldSerializationData, dictionary, fieldSerializationData.byteDataArray, variableData.variableStartIndex[i], globalVariables, false, 0); if (sharedVariable != null) { list.Add(sharedVariable); } } ObjectPool.Return <Dictionary <int, int> >(dictionary); globalVariables.Variables = list; } }
public static void Save(GlobalVariables variables) { if (variables == null) { return; } SerializeJSON.variableSerializationData = new VariableSerializationData(); SerializeJSON.fieldSerializationData = SerializeJSON.variableSerializationData.fieldSerializationData; Dictionary <string, object> dictionary = new Dictionary <string, object>(); dictionary.Add("Variables", SerializeJSON.SerializeVariables(variables.Variables, ref SerializeJSON.fieldSerializationData.unityObjects)); SerializeJSON.variableSerializationData.JSONSerialization = MiniJSON.Serialize(dictionary); variables.VariableData = SerializeJSON.variableSerializationData; EditorUtility.SetDirty(variables); }
public static void Load(GlobalVariables globalVariables) { if (globalVariables == null) { return; } globalVariables.Variables = null; FieldSerializationData fieldSerializationData; if (globalVariables.VariableData == null || (fieldSerializationData = globalVariables.VariableData.fieldSerializationData).byteData == null || fieldSerializationData.byteData.Count == 0) { return; } VariableSerializationData variableData = globalVariables.VariableData; fieldSerializationData.byteDataArray = fieldSerializationData.byteData.ToArray(); if (variableData.variableStartIndex != null) { List <SharedVariable> list = new List <SharedVariable>(); Dictionary <string, int> dictionary = ObjectPool.Get <Dictionary <string, int> >(); for (int i = 0; i < variableData.variableStartIndex.Count; i++) { int num = variableData.variableStartIndex[i]; int num2; if (i + 1 < variableData.variableStartIndex.Count) { num2 = variableData.variableStartIndex[i + 1]; } else { num2 = fieldSerializationData.startIndex.Count; } dictionary.Clear(); for (int j = num; j < num2; j++) { dictionary.Add(fieldSerializationData.typeName[j], fieldSerializationData.startIndex[j]); } SharedVariable sharedVariable = BytesToSharedVariable(fieldSerializationData, dictionary, fieldSerializationData.byteDataArray, variableData.variableStartIndex[i], globalVariables, false, string.Empty); if (sharedVariable != null) { list.Add(sharedVariable); } } ObjectPool.Return(dictionary); globalVariables.Variables = list; } }