protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { PrefabInstanceLayout layout = container.ExportLayout.PrefabInstance; if (layout.IsModificationFormat) { YAMLMappingNode node = ExportYAMLRootObject(container); node.AddSerializedVersion(layout.Version); if (layout.HasRootGameObject && layout.IsRootGameObjectFirst) { node.Add(layout.RootGameObjectName, RootGameObject.ExportYAML(container)); } node.Add(layout.ModificationName, Modification.ExportYAML(container)); node.Add(layout.SourcePrefabInvariantName, SourcePrefab.ExportYAML(container)); if (!layout.IsRootGameObjectFirst) { node.Add(layout.RootGameObjectName, RootGameObject.ExportYAML(container)); } if (layout.HasIsPrefabAssetInvariant) { node.Add(layout.IsPrefabAssetInvariantName, IsPrefabAsset); } if (layout.HasIsExploded) { node.Add(layout.IsExplodedName, IsExploded); } return(node); } else { YAMLMappingNode node = new YAMLMappingNode(); node.Add(layout.LastMergeIdentifierName, LastMergeIdentifier.ExportYAML(container)); if (layout.HasLastTemplateIdentifier) { node.Add(layout.LastTemplateIdentifierName, LastTemplateIdentifier.ExportYAML(container)); } node.Add(layout.ObjectsName, Objects.ExportYAML(container)); node.Add(layout.FatherName, Father.ExportYAML(container)); node.Add(layout.IsDataTemplateName, IsDataTemplate); YAMLMappingNode baseNode = base.ExportYAMLRoot(container); node.Append(baseNode); return(node); } }
protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container) { if (IsModificationsFormat(container.Version)) { YAMLMappingNode node = ExportYAMLRootObject(container); node.AddSerializedVersion(ToSerializedVersion(container.ExportVersion)); bool hasRootGameObject = IsRootGameObjectRelevant(container.ExportFlags); bool isRootGameObjectFirst = IsRootGameObjectFirst(container.ExportVersion); if (hasRootGameObject && isRootGameObjectFirst) { node.Add(RootGameObjectName, RootGameObject.ExportYAML(container)); } node.Add(ModificationName, Modification.ExportYAML(container)); node.Add(GetSourcePrefabName(container.ExportVersion), SourcePrefab.ExportYAML(container)); if (hasRootGameObject && !isRootGameObjectFirst) { node.Add(RootGameObjectName, RootGameObject.ExportYAML(container)); } if (IsPrefabAssetRelevant(container.ExportVersion)) { node.Add(GetIsPrefabAssetName(container.ExportVersion), IsPrefabAsset); } if (IsExplodedRelevant(container.ExportVersion)) { node.Add(IsExplodedName, IsExploded); } return(node); } else { YAMLMappingNode node = new YAMLMappingNode(); node.Add(LastMergeIdentifierName, LastMergeIdentifier.ExportYAML(container)); if (HasLastTemplateIdentifier(container.ExportVersion)) { node.Add(LastTemplateIdentifierName, LastTemplateIdentifier.ExportYAML(container)); } node.Add(ObjectsName, Objects.ExportYAML(container)); node.Add(FatherName, Father.ExportYAML(container)); node.Add(IsDataTemplateName, IsDataTemplate); YAMLMappingNode baseNode = base.ExportYAMLRoot(container); node.Append(baseNode); return(node); } }