private static void _SerializationHandler(IList target, SerializedObjectNode targetNode) { int count = target.Count; for (int i = 0; i < count; i++) { SerializedObjectNode node = targetNode.CreateChild("entry" + i); object value = target[i]; _InvokeSerializerHandler(value, node); } }
private static void _SerializationHandler(Array target, SerializedObjectNode targetNode) { Assert.AreEqual(1, target.Length); int count = target.Length; for (int i = 0; i < count; i++) { SerializedObjectNode node = targetNode.CreateChild("entry" + i); object value = target.GetValue(i); _InvokeSerializerHandler(value, node); } }
private static void _SerializationHandler(IDictionary target, SerializedObjectNode targetNode) { int i = 0; foreach (object key in target.Keys) { SerializedObjectNode node = targetNode.CreateChild("entry" + i); SerializedObjectNode keyNode = node.CreateChild("key"); SerializedObjectNode valueNode = node.CreateChild("value"); _InvokeSerializerHandler(key, keyNode); _InvokeSerializerHandler(target[key], valueNode); i++; } }
private static void _SerializationHandler(object target, SerializedObjectNode targetNode) { Type targetType = target.GetType(); FieldInfo[] fields = TypeHelper.GetFields(targetType, typeof (SerializeField), true); foreach (FieldInfo fieldInfo in fields) { SerializedObjectNode fieldNode = targetNode.CreateChild(fieldInfo.Name); object fieldValue = fieldInfo.GetValue(target); _InvokeSerializerHandler(fieldValue, fieldNode); } targetNode.SetVersionInfo(targetType); }