Cleanup code from #1213

This commit is contained in:
Wojtek Figat
2023-06-28 16:27:42 +02:00
parent 96a1f20bee
commit bb9711277a
8 changed files with 88 additions and 138 deletions

View File

@@ -48,6 +48,7 @@ namespace FlaxEditor.Viewport.Previews
private int _selectedModelIndex;
private Image _guiMaterialControl;
private readonly MaterialBase[] _postFxMaterialsCache = new MaterialBase[1];
private ContextMenu _modelWidgetButtonMenu;
/// <summary>
/// Gets or sets the material asset to preview. It can be <see cref="FlaxEngine.Material"/> or <see cref="FlaxEngine.MaterialInstance"/>.
@@ -65,11 +66,6 @@ namespace FlaxEditor.Viewport.Previews
}
}
/// <summary>
/// The "Model" widget button context menu.
/// </summary>
private ContextMenu modelWidgetButtonMenu;
/// <summary>
/// Gets or sets the selected preview model index.
/// </summary>
@@ -87,27 +83,6 @@ namespace FlaxEditor.Viewport.Previews
}
}
/// <summary>
/// Fill out all models
/// </summary>
/// <param name="control"></param>
private void ModelWidgetMenuOnVisibleChanged(Control control)
{
if (!control.Visible) return;
modelWidgetButtonMenu.ItemsContainer.DisposeChildren();
// Fill out all models
for (int i = 0; i < Models.Length; i++)
{
var index = i;
var button = modelWidgetButtonMenu.AddButton(Models[index]);
button.ButtonClicked += (button) => SelectedModelIndex = index;
button.Checked = SelectedModelIndex == index;
button.Tag = index;
}
}
/// <summary>
/// Initializes a new instance of the <see cref="MaterialPreview"/> class.
/// </summary>
@@ -127,9 +102,24 @@ namespace FlaxEditor.Viewport.Previews
{
// Model mode widget
var modelMode = new ViewportWidgetsContainer(ViewportWidgetLocation.UpperRight);
modelWidgetButtonMenu = new ContextMenu();
modelWidgetButtonMenu.VisibleChanged += ModelWidgetMenuOnVisibleChanged;
var previewLODSModeButton = new ViewportWidgetButton("Model", SpriteHandle.Invalid, modelWidgetButtonMenu)
_modelWidgetButtonMenu = new ContextMenu();
_modelWidgetButtonMenu.VisibleChanged += control =>
{
if (!control.Visible)
return;
_modelWidgetButtonMenu.ItemsContainer.DisposeChildren();
// Fill out all models
for (int i = 0; i < Models.Length; i++)
{
var index = i;
var button = _modelWidgetButtonMenu.AddButton(Models[index]);
button.ButtonClicked += _ => SelectedModelIndex = index;
button.Checked = SelectedModelIndex == index;
button.Tag = index;
}
};
new ViewportWidgetButton("Model", SpriteHandle.Invalid, _modelWidgetButtonMenu)
{
TooltipText = "Change material model",
Parent = modelMode,