public static void GenerateTypeTree(TypeTreeContext context) { GameObjectLayout layout = context.Layout.GameObject; context.AddNode(layout.Name, TypeTreeUtils.BaseName); context.BeginChildren(); ObjectLayout.GenerateTypeTree(context); if (layout.IsComponentTuple) { context.AddArray(layout.ComponentName, TupleLayout.GenerateTypeTree, Int32Layout.GenerateTypeTree, (c, n) => c.AddPPtr(c.Layout.Component.Name, n)); } else { context.AddArray(layout.ComponentName, ComponentPairLayout.GenerateTypeTree); } if (layout.IsActiveFirst) { context.AddBool(layout.IsActiveName); } context.AddUInt32(layout.LayerName); if (layout.IsNameFirst) { context.AddString(layout.NameName); } if (layout.HasTag) { context.AddUInt16(layout.TagName); } if (layout.HasTagString) { context.AddString(layout.TagStringName); } if (layout.HasIcon && layout.IsIconFirst) { context.AddPPtr(context.Layout.Texture2D.Name, layout.IconName); } if (layout.HasNavMeshLayer) { context.AddUInt32(layout.NavMeshLayerName); context.AddUInt32(layout.StaticEditorFlagsName); } if (!layout.IsNameFirst) { context.AddString(layout.NameName); } if (!layout.IsActiveFirst) { context.AddBool(layout.IsActiveName); } if (layout.HasIsStatic) { context.AddBool(layout.IsStaticName); } if (layout.HasIcon && !layout.IsIconFirst) { context.AddPPtr(context.Layout.Texture2D.Name, layout.IconName); } context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context) { PrefabLayout layout = context.Layout.Prefab; context.AddNode(layout.Name, TypeTreeUtils.BaseName); context.BeginChildren(); ObjectLayout.GenerateTypeTree(context); context.AddPPtr(context.Layout.GameObject.Name, layout.RootGameObjectName); context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name) { PrefabInstanceLayout layout = context.Layout.PrefabInstance; context.AddNode(layout.Name, name, layout.Version); context.BeginChildren(); if (layout.IsModificationFormat) { ObjectLayout.GenerateTypeTree(context); if (layout.HasRootGameObject && layout.IsRootGameObjectFirst) { context.AddPPtr(context.Layout.GameObject.Name, layout.RootGameObjectName); } PrefabModificationLayout.GenerateTypeTree(context, layout.ModificationName); if (layout.HasSourcePrefab) { context.AddPPtr(layout.Name, layout.SourcePrefabName); } else { context.AddPPtr(layout.Name, layout.ParentPrefabName); } if (!layout.IsRootGameObjectFirst) { context.AddPPtr(context.Layout.GameObject.Name, layout.RootGameObjectName); } if (layout.HasIsPrefabAsset) { context.AddBool(layout.IsPrefabAssetName); } else { context.AddBool(layout.IsPrefabParentName); } if (layout.HasIsExploded) { context.AddBool(layout.IsExplodedName); } context.Align(); } else { GUIDLayout.GenerateTypeTree(context, layout.LastMergeIdentifierName); if (layout.HasLastTemplateIdentifier) { GUIDLayout.GenerateTypeTree(context, layout.LastTemplateIdentifierName); } context.AddArray(layout.ObjectsName, (c, n) => c.AddPPtr(c.Layout.EditorExtension.Name, n)); context.AddPPtr(layout.Name, layout.FatherName); context.AddBool(layout.IsDataTemplateName, TransferMetaFlags.AlignBytesFlag); NamedObjectLayout.GenerateTypeTree(context); } context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context) { ObjectLayout.GenerateTypeTree(context); EditorExtensionLayout layout = context.Layout.EditorExtension; if (layout.HasExtensionPtr) { context.AddPPtr(context.Layout.Object.Name, layout.ExtensionPtrName); } if (layout.HasCorrespondingSourceObject) { context.AddPPtr(layout.Name, layout.CorrespondingSourceObjectInvariantName); context.AddPPtr(context.Layout.PrefabInstance.Name, layout.PrefabInstanceInvariantName); } if (layout.HasPrefabAsset) { context.AddPPtr(context.Layout.Prefab.Name, layout.PrefabAssetName); } }