コード例 #1
0
        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();
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        public static void GenerateTypeTree(TypeTreeContext context, string name)
        {
            PropertyModificationLayout layout = context.Layout.PrefabInstance.PropertyModification;

            context.AddNode(layout.Name, name);
            context.BeginChildren();
            context.AddPPtr(context.Layout.Object.Name, layout.TargetName);
            context.AddString(layout.PropertyPathName);
            context.AddString(layout.ValueName);
            context.AddPPtr(context.Layout.Object.Name, layout.ObjectReferenceName);
            context.EndChildren();
        }
コード例 #4
0
        public static void GenerateTypeTree(TypeTreeContext context)
        {
            EditorExtensionLayout.GenerateTypeTree(context);
            ComponentLayout layout = context.Layout.Component;

            context.AddPPtr(context.Layout.GameObject.Name, layout.GameObjectName);
        }
コード例 #5
0
ファイル: PrefabInstance.cs プロジェクト: lego13/UtinyRipper
        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();
        }
コード例 #6
0
 protected new static void GenerateTypeTree(TypeTreeContext context)
 {
     EditorExtension.GenerateTypeTree(context);
     if (HasGameObject(context.Flags))
     {
         context.AddPPtr(nameof(Classes.GameObject), GameObjectName);
     }
 }
コード例 #7
0
 public static void GenerateTypeTree(TypeTreeContext context, string name)
 {
     context.AddNode(nameof(Prefab), name);
     context.BeginChildren();
     Object.GenerateTypeTree(context);
     context.AddPPtr(nameof(GameObject), RootGameObjectName);
     context.EndChildren();
 }
コード例 #8
0
 public static void GenerateTypeTree(TypeTreeContext context, string name)
 {
     context.AddNode(nameof(PPtrKeyframe), name);
     context.BeginChildren();
     context.AddSingle(TimeName);
     context.AddPPtr(nameof(Object), ValueName);
     context.EndChildren();
 }
コード例 #9
0
 public static void GenerateTypeTree(TypeTreeContext context, string name)
 {
     context.AddNode(nameof(PropertyModification), name);
     context.BeginChildren();
     context.AddString(PropertyPathName);
     context.AddString(ValueName);
     context.AddPPtr(nameof(Object), ObjectReferenceName);
     context.EndChildren();
 }
コード例 #10
0
 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();
 }
コード例 #11
0
        public static void GenerateTypeTree(TypeTreeContext context, string name)
        {
            ComponentPairLayout layout = context.Layout.GameObject.ComponentPair;

            context.AddNode(layout.Name, name);
            context.BeginChildren();
            context.AddPPtr(context.Layout.Component.Name, layout.ComponentName);
            context.EndChildren();
        }
コード例 #12
0
        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);
            }
        }
コード例 #13
0
        public new static void GenerateTypeTree(TypeTreeContext context)
        {
            Behaviour.GenerateTypeTree(context);

            if (HasEditorHideFlags(context.Flags))
            {
                context.AddUInt32(EditorHideFlagsName);
            }
            if (HasGeneratorAsset(context.Version, context.Flags))
            {
                context.AddPPtr(nameof(Object), GeneratorAssetName);
            }
            context.AddPPtr(nameof(MonoScript), ScriptName);
            context.AddString(NameName);
            if (HasEditorClassIdentifier(context.Version, context.Flags))
            {
                context.AddString(EditorClassIdentifierName);
            }
        }
コード例 #14
0
        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();
        }
コード例 #15
0
 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();
 }
コード例 #16
0
 protected new static void GenerateTypeTree(TypeTreeContext context)
 {
     Object.GenerateTypeTree(context);
     if (HasEditorPtrs(context.Flags))
     {
         if (HasCorrespondingSourceObject(context.Version, context.Flags))
         {
             context.AddPPtr(nameof(EditorExtension), CorrespondingSourceObjectName);
             context.AddPPtr(Classes.PrefabInstance.GetPrefabInstanceName(context.Version), PrefabInstanceName);
         }
         else
         {
             context.AddPPtr(nameof(Object), ExtensionPtrName);
         }
         if (HasPrefabAsset(context.Version, context.Flags))
         {
             context.AddPPtr(nameof(Prefab), PrefabAssetName);
         }
     }
 }
コード例 #17
0
        public static void GenerateTypeTree(TypeTreeContext context, string name)
        {
            context.AddNode(nameof(PPtrCurve), name);
            context.BeginChildren();
            AnimationCurveTpl <Float> .GenerateTypeTree(context, name, Float.GenerateTypeTree);

            context.AddString(AttributeName);
            context.AddString(PathName);
            context.AddNode(TypeTreeUtils.TypeStarName, ClassIDName, sizeof(int));
            context.AddPPtr(nameof(MonoScript), ScriptName);
            context.EndChildren();
        }
コード例 #18
0
        public static void GenerateTypeTree(TypeTreeContext context)
        {
            BehaviourLayout.GenerateTypeTree(context);

            MonoBehaviourLayout layout = context.Layout.MonoBehaviour;

            if (layout.HasEditorHideFlags)
            {
                context.AddUInt32(layout.EditorHideFlagsName);
            }
            if (layout.HasGeneratorAsset)
            {
                context.AddPPtr(context.Layout.Object.Name, layout.GeneratorAssetName);
            }
            context.AddPPtr(context.Layout.MonoScript.Name, layout.ScriptName);
            context.AddString(layout.NameName);
            if (layout.HasEditorClassIdentifier)
            {
                context.AddString(layout.EditorClassIdentifierName);
            }
        }
コード例 #19
0
        public static void GenerateTypeTree(TypeTreeContext context, string name)
        {
            FloatCurveLayout layout = context.Layout.AnimationClip.FloatCurve;

            context.AddNode(layout.Name, name);
            context.BeginChildren();
            AnimationCurveTplLayout.GenerateTypeTree(context, name, SingleLayout.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();
        }
コード例 #20
0
        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();
        }
コード例 #21
0
 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();
 }
コード例 #22
0
        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();
        }
コード例 #23
0
        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();
        }
コード例 #24
0
ファイル: PPtr.cs プロジェクト: wyfleb/UtinyRipper
 public static void GenerateTypeTree(TypeTreeContext context, string type, string name)
 {
     context.AddPPtr(type, name);
 }
コード例 #25
0
        public static void GenerateTypeTree(TypeTreeContext context, string name)
        {
            GUIStyleLayout layout = context.Layout.Serialized.GUIStyle;

            context.AddNode(layout.Name, name);
            context.BeginChildren();
            context.AddString(layout.NameName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.NormalName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.HoverName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.ActiveName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.FocusedName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.OnNormalName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.OnHoverName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.OnActiveName);
            GUIStyleStateLayout.GenerateTypeTree(context, layout.OnFocusedName);
            RectOffsetLayout.GenerateTypeTree(context, layout.BorderName);
            if (layout.IsBuiltinFormat)
            {
                RectOffsetLayout.GenerateTypeTree(context, layout.MarginName);
                RectOffsetLayout.GenerateTypeTree(context, layout.PaddingName);
            }
            else
            {
                RectOffsetLayout.GenerateTypeTree(context, layout.PaddingName);
                RectOffsetLayout.GenerateTypeTree(context, layout.MarginName);
            }
            RectOffsetLayout.GenerateTypeTree(context, layout.OverflowName);
            context.AddPPtr(context.Layout.Font.Name, layout.FontName);
            if (layout.IsBuiltinFormat)
            {
                context.AddInt32(layout.FontSizeName);
                context.AddInt32(layout.FontStyleName);
                context.AddInt32(layout.AlignmentName);
                context.AddBool(layout.WordWrapName);
                context.AddBool(layout.RichTextName);
                context.AddInt32(layout.TextClippingName);
                context.AddInt32(layout.ImagePositionName);
                Vector2fLayout.GenerateTypeTree(context, layout.ContentOffsetName);
                context.AddSingle(layout.FixedWidthName);
                context.AddSingle(layout.FixedHeightName);
                context.AddBool(layout.StretchWidthName);
                context.AddBool(layout.StretchHeightName);
            }
            else
            {
                context.AddInt32(layout.ImagePositionName);
                context.AddInt32(layout.AlignmentName);
                context.AddBool(layout.WordWrapName);
                context.AddInt32(layout.TextClippingName);
                Vector2fLayout.GenerateTypeTree(context, layout.ContentOffsetName);
                Vector2fLayout.GenerateTypeTree(context, layout.ClipOffsetName);
                context.AddSingle(layout.FixedWidthName);
                context.AddSingle(layout.FixedHeightName);
                if (layout.HasFontSize)
                {
                    context.AddInt32(layout.FontSizeName);
                    context.AddInt32(layout.FontStyleName);
                }
                context.AddBool(layout.StretchWidthName);
                context.AddBool(layout.StretchHeightName);
            }
            context.EndChildren();
        }
コード例 #26
0
        public static void GenerateTypeTree(TypeTreeContext context, string name)
        {
            context.AddNode(TypeTreeUtils.GUIStyleName, name);
            context.BeginChildren();
            context.AddString(NameName);
            GUIStyleState.GenerateTypeTree(context, NormalName);
            GUIStyleState.GenerateTypeTree(context, HoverName);
            GUIStyleState.GenerateTypeTree(context, ActiveName);
            GUIStyleState.GenerateTypeTree(context, FocusedName);
            GUIStyleState.GenerateTypeTree(context, OnNormalName);
            GUIStyleState.GenerateTypeTree(context, OnHoverName);
            GUIStyleState.GenerateTypeTree(context, OnActiveName);
            GUIStyleState.GenerateTypeTree(context, OnFocusedName);
            RectOffset.GenerateTypeTree(context, BorderName);
            bool isBuildin = IsBuiltin(context.Version);

            if (isBuildin)
            {
                RectOffset.GenerateTypeTree(context, MarginName);
                RectOffset.GenerateTypeTree(context, PaddingName);
            }
            else
            {
                RectOffset.GenerateTypeTree(context, PaddingName);
                RectOffset.GenerateTypeTree(context, MarginName);
            }
            RectOffset.GenerateTypeTree(context, OverflowName);
            context.AddPPtr(nameof(Font), FontName);
            if (isBuildin)
            {
                context.AddInt32(FontSizeName);
                context.AddInt32(FontStyleName);
                context.AddInt32(AlignmentName);
                context.AddBool(WordWrapName);
                context.AddBool(RichTextName);
                context.AddInt32(TextClippingName);
                context.AddInt32(ImagePositionName);
                Vector2f.GenerateTypeTree(context, ContentOffsetName);
                context.AddSingle(FixedWidthName);
                context.AddSingle(FixedHeightName);
                context.AddBool(StretchWidthName);
                context.AddBool(StretchHeightName);
            }
            else
            {
                context.AddInt32(ImagePositionName);
                context.AddInt32(AlignmentName);
                context.AddBool(WordWrapName);
                context.AddInt32(TextClippingName);
                Vector2f.GenerateTypeTree(context, ContentOffsetName);
                Vector2f.GenerateTypeTree(context, ClipOffsetName);
                context.AddSingle(FixedWidthName);
                context.AddSingle(FixedHeightName);
                if (HasFontSize(context.Version))
                {
                    context.AddInt32(FontSizeName);
                    context.AddInt32(FontStyleName);
                }
                context.AddBool(StretchWidthName);
                context.AddBool(StretchHeightName);
            }
            context.EndChildren();
        }