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, string name) { context.AddNode(nameof(PrefabModification), name); context.BeginChildren(); context.AddPPtr(nameof(Transform), TransformParentName); context.AddArray(ModificationsName, PropertyModification.GenerateTypeTree); if (IsRemovedComponentsComponentPointer(context.Version)) { context.AddArray(RemovedComponentsName, PPtr <Component> .GenerateTypeTree); } else { context.AddArray(RemovedComponentsName, PPtr <Object> .GenerateTypeTree); } context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name) { context.AddNode(TypeTreeUtils.GUIStyleStateName, name); context.BeginChildren(); context.AddPPtr(nameof(Texture2D), BackgroundName); context.AddArray(ScaledBackgroundsName, PPtr <Texture2D> .GenerateTypeTree); ColorRGBAf.GenerateTypeTree(context, TextColorName); context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name) { PrefabModificationLayout layout = context.Layout.PrefabInstance.PrefabModification; context.AddNode(layout.Name, name); context.BeginChildren(); context.AddPPtr(context.Layout.Transform.Name, layout.TransformParentName); context.AddArray(layout.ModificationsName, PropertyModificationLayout.GenerateTypeTree); if (layout.IsComponentPointer) { context.AddArray(layout.RemovedComponentsName, (c, n) => c.AddPPtr(c.Layout.Component.Name, n)); } else { context.AddArray(layout.RemovedComponentsName, (c, n) => c.AddPPtr(c.Layout.Object.Name, n)); } 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, string name) { context.AddNode(nameof(PPtrCurve), name); context.BeginChildren(); context.AddArray(CurveName, PPtrKeyframe.GenerateTypeTree); context.AddString(AttributeName); context.AddString(PathName); context.AddNode(TypeTreeUtils.TypeStarName, ClassIDName, sizeof(int)); context.AddPPtr(nameof(MonoScript), ScriptName); context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name) { AnimationLayout layout = context.Layout.Animation; context.AddNode(layout.Name, name, layout.Version); context.BeginChildren(); BehaviourLayout.GenerateTypeTree(context); context.AddPPtr(context.Layout.AnimationClip.Name, layout.AnimationName); if (layout.HasAnimations) { context.AddArray(layout.AnimationName, (c, n) => c.AddPPtr(c.Layout.AnimationClip.Name, n)); } else { context.AddArray(layout.AnimationName, TupleLayout.GenerateTypeTree, StringLayout.GenerateTypeTree, (c, n) => c.AddPPtr(c.Layout.AnimationClip.Name, n)); } context.AddInt32(layout.WrapModeName); context.AddBool(layout.PlayAutomaticallyName); context.AddBool(layout.AnimatePhysicsInvariantName); if (layout.HasAnimateOnlyIfVisible) { context.AddBool(layout.AnimateOnlyIfVisibleName); } if (layout.IsAlign) { context.Align(); } if (layout.HasCullingType) { context.AddInt32(layout.CullingTypeName); } if (layout.HasUserAABB) { AABBLayout.GenerateTypeTree(context, layout.UserAABBName); } context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name) { PPtrCurveLayout layout = context.Layout.AnimationClip.PPtrCurve; context.AddNode(layout.Name, name); context.BeginChildren(); context.AddArray(layout.CurveName, PPtrKeyframe.GenerateTypeTree); context.AddString(layout.AttributeName); context.AddString(layout.PathName); context.AddNode(TypeTreeUtils.TypeStarName, layout.ClassIDName, 1, sizeof(int)); context.AddPPtr(context.Layout.MonoScript.Name, layout.ScriptName); context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name) { GUIStyleStateLayout layout = context.Layout.Serialized.GUIStyle.GUIStyleState; context.AddNode(layout.Name, name); context.BeginChildren(); context.AddPPtr(context.Layout.Texture2D.Name, layout.BackgroundName); if (layout.HasScaledBackgrounds) { context.AddArray(layout.ScaledBackgroundsName, (c, n) => PPtrLayout.GenerateTypeTree(c, c.Layout.Texture2D.Name, n)); } ColorRGBAfLayout.GenerateTypeTree(context, layout.TextColorName); context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name) { string className = GetPrefabInstanceName(context.Version); context.AddNode(className, name, 0, ToSerializedVersion(context.Version)); context.BeginChildren(); if (IsModificationsFormat(context.Version)) { Object.GenerateTypeTree(context); bool hasRootGameObject = IsRootGameObjectRelevant(context.Flags); bool isRootGameObjectFirst = IsRootGameObjectFirst(context.Version); if (hasRootGameObject && isRootGameObjectFirst) { context.AddPPtr(nameof(GameObject), RootGameObjectName); } PrefabModification.GenerateTypeTree(context, ModificationName); context.AddPPtr(className, GetSourcePrefabName(context.Version)); if (hasRootGameObject && !isRootGameObjectFirst) { context.AddPPtr(nameof(GameObject), RootGameObjectName); } if (IsPrefabAssetRelevant(context.Version)) { context.AddBool(GetIsPrefabAssetName(context.Version)); } if (IsExplodedRelevant(context.Version)) { context.AddBool(IsExplodedName); } context.Align(); } else { GUID.GenerateTypeTree(context, LastMergeIdentifierName); if (HasLastTemplateIdentifier(context.Version)) { GUID.GenerateTypeTree(context, LastTemplateIdentifierName); } context.AddArray(ObjectsName, PPtr <EditorExtension> .GenerateTypeTree); context.AddPPtr(className, FatherName); context.AddBool(IsDataTemplateName, TransferMetaFlags.AlignBytesFlag); NamedObject.GenerateTypeTree(context); } context.EndChildren(); }
public static void GenerateTypeTree(TypeTreeContext context, string name, TypeTreeGenerator generator) { AnimationCurveTplLayout layout = context.Layout.Serialized.AnimationCurveTpl; context.AddNode(layout.Name, name, layout.Version); context.BeginChildren(); context.AddArray(layout.CurveName, (c, n) => KeyframeTplLayout.GenerateTypeTree(c, n, generator)); if (context.Layout.IsAlign) { context.Align(); } context.AddInt32(layout.PreInfinityName); context.AddInt32(layout.PostInfinityName); if (layout.HasRotationOrder) { context.AddInt32(layout.RotationOrderName); } context.EndChildren(); }