Пример #1
0
        void UpdateParentView()
        {
            var container = new VisualElement();

            var headerLabel = new Label("Parent Hierarchy");

            headerLabel.AddToClassList("Header");
            container.Add(headerLabel);

            // Create a hierarchy queue
            Queue <Object> parents        = new Queue <Object>();
            MixtureVariant currentVariant = variant.parentVariant;

            while (currentVariant != null)
            {
                parents.Enqueue(currentVariant);
                currentVariant = currentVariant.parentVariant;
            }
            parents.Enqueue(graph);

            // UIElements breadcrumbs bar
            var parentBar = new ToolbarBreadcrumbs();

            parentBar.AddToClassList("Indent");
            parentBar.AddToClassList("VariantBreadcrumbs");
            foreach (var obj in parents.Reverse())
            {
                var v = obj as MixtureVariant;
                var g = obj as MixtureGraph;

                parentBar.PushItem(obj.name, () => {
                    Selection.activeObject = v?.mainOutputTexture ?? g?.mainOutputTexture ?? obj;
                });
            }

            // Add new variant button:
            parentBar.PushItem("+", () => {
                MixtureAssetCallbacks.CreateMixtureVariant(null, variant);
            });

            container.Add(parentBar);

            root.Add(container);
        }
Пример #2
0
 void CreateMixtureVariant() => MixtureAssetCallbacks.CreateMixtureVariant(graph, null);