Add copy/paste for material instance parameters via context menu on Parameters group header

This commit is contained in:
Wojtek Figat
2024-08-10 20:46:33 +02:00
parent 97ab8940f0
commit 8f18d654ee
4 changed files with 16 additions and 2 deletions

View File

@@ -20,7 +20,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
// Show instanced parameters to view/edit at runtime
if (Values.IsSingleObject && Editor.Instance.StateMachine.IsPlayMode)
{
var group = layout.Group("Parameters");
var group = SurfaceUtils.InitGraphParametersGroup(layout);
group.Panel.Open(false);
group.Panel.IndexInParent -= 2;

View File

@@ -533,6 +533,15 @@ namespace FlaxEditor.CustomEditors.Editors
_groupsPool.Add(groups);
}
internal static GroupElement OnGroup(LayoutElementsContainer layout, string name)
{
// Add new group
var group = layout.Group(name);
group.Panel.Tag = group;
group.Panel.MouseButtonRightClicked += OnGroupPanelMouseButtonRightClicked;
return group;
}
internal static LayoutElementsContainer OnGroup(LayoutElementsContainer layout, EditorDisplayAttribute display)
{
if (display?.Group != null)

View File

@@ -100,6 +100,11 @@ namespace FlaxEditor.Surface
}
}
internal static GroupElement InitGraphParametersGroup(LayoutElementsContainer layout)
{
return CustomEditors.Editors.GenericEditor.OnGroup(layout, "Parameters");
}
internal static GraphParameterData[] InitGraphParameters(IEnumerable<MaterialParameter> parameters, Material material)
{
int count = parameters.Count();

View File

@@ -261,7 +261,7 @@ namespace FlaxEditor.Windows.Assets
removeButton.Clicked += OnOverrideAll;
}
var parametersGroup = layout.Group("Parameters");
var parametersGroup = SurfaceUtils.InitGraphParametersGroup(layout);
var baseMaterial = materialInstance.BaseMaterial;
var material = baseMaterial;
if (material)