Merge remote-tracking branch 'origin/master' into 1.9
# Conflicts: # Source/Editor/Modules/ContentDatabaseModule.cs # Source/Editor/Surface/SurfaceUtils.cs # Source/Editor/Windows/Assets/MaterialInstanceWindow.cs # Source/Engine/Foliage/Foliage.cpp # Source/Engine/Graphics/Models/MeshBase.h # Source/Engine/Tools/MaterialGenerator/MaterialGenerator.Textures.cpp
This commit is contained in:
@@ -206,6 +206,7 @@ namespace FlaxEditor.Windows.Assets
|
||||
_surface.ContextChanged += OnSurfaceContextChanged;
|
||||
|
||||
// Toolstrip
|
||||
SurfaceUtils.PerformCommonSetup(this, _toolstrip, _surface, out _saveButton, out _undoButton, out _redoButton);
|
||||
_showNodesButton = (ToolStripButton)_toolstrip.AddButton(editor.Icons.Bone64, () => _preview.ShowNodes = !_preview.ShowNodes).LinkTooltip("Show animated model nodes debug view");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(editor.Icons.Docs64, () => Platform.OpenUrl(Utilities.Constants.DocsUrl + "manual/animation/anim-graph/index.html")).LinkTooltip("See documentation to learn more");
|
||||
@@ -295,6 +296,15 @@ namespace FlaxEditor.Windows.Assets
|
||||
base.SetParameter(index, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the base model of the animation graph this window is editing.
|
||||
/// </summary>
|
||||
/// <param name="baseModel">The new base model.</param>
|
||||
public void SetBaseModel(SkinnedModel baseModel)
|
||||
{
|
||||
_properties.BaseModel = baseModel;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void UnlinkItem()
|
||||
{
|
||||
|
||||
@@ -172,13 +172,8 @@ namespace FlaxEditor.Windows.Assets
|
||||
_knowledgePropertiesEditor.Panel.Parent = _split2.Panel2;
|
||||
|
||||
// Toolstrip
|
||||
_saveButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Save64, Save).LinkTooltip("Save");
|
||||
SurfaceUtils.PerformCommonSetup(this, _toolstrip, _surface, out _saveButton, out _undoButton, out _redoButton);
|
||||
_toolstrip.AddSeparator();
|
||||
_undoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Undo64, _undo.PerformUndo).LinkTooltip($"Undo ({inputOptions.Undo})");
|
||||
_redoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Redo64, _undo.PerformRedo).LinkTooltip($"Redo ({inputOptions.Redo})");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(Editor.Icons.Search64, Editor.ContentFinding.ShowSearch).LinkTooltip($"Open content search tool ({inputOptions.Search})");
|
||||
_toolstrip.AddButton(editor.Icons.CenterView64, _surface.ShowWholeGraph).LinkTooltip("Show whole graph");
|
||||
_toolstrip.AddButton(editor.Icons.Docs64, () => Platform.OpenUrl(Utilities.Constants.DocsUrl + "manual/scripting/ai/behavior-trees/index.html")).LinkTooltip("See documentation to learn more");
|
||||
|
||||
// Debug behavior picker
|
||||
@@ -206,11 +201,6 @@ namespace FlaxEditor.Windows.Assets
|
||||
_behaviorPicker.CheckValid = OnBehaviorPickerCheckValid;
|
||||
_behaviorPicker.ValueChanged += OnBehaviorPickerValueChanged;
|
||||
|
||||
// Setup input actions
|
||||
InputActions.Add(options => options.Undo, _undo.PerformUndo);
|
||||
InputActions.Add(options => options.Redo, _undo.PerformRedo);
|
||||
InputActions.Add(options => options.Search, Editor.ContentFinding.ShowSearch);
|
||||
|
||||
SetCanEdit(!Editor.IsPlayMode);
|
||||
ScriptsBuilder.ScriptsReloadBegin += OnScriptsReloadBegin;
|
||||
}
|
||||
@@ -430,8 +420,7 @@ namespace FlaxEditor.Windows.Assets
|
||||
|
||||
private bool SaveSurface()
|
||||
{
|
||||
_surface.Save();
|
||||
return false;
|
||||
return _surface.Save();
|
||||
}
|
||||
|
||||
private void SetCanEdit(bool canEdit)
|
||||
|
||||
@@ -242,8 +242,11 @@ namespace FlaxEditor.Windows.Assets
|
||||
|
||||
private void OpenOptionsContextMenu()
|
||||
{
|
||||
if (_optionsCM != null && _optionsCM.ContainsFocus)
|
||||
return;
|
||||
if (_optionsCM != null)
|
||||
{
|
||||
_optionsCM.Hide();
|
||||
_optionsCM.Dispose();
|
||||
}
|
||||
|
||||
_optionsCM = new ContextMenu();
|
||||
_optionsCM.AddButton("Copy type name", () => Clipboard.Text = Asset.DataTypeName);
|
||||
|
||||
@@ -9,10 +9,12 @@ using FlaxEditor.CustomEditors;
|
||||
using FlaxEditor.CustomEditors.Editors;
|
||||
using FlaxEditor.CustomEditors.GUI;
|
||||
using FlaxEditor.GUI;
|
||||
using FlaxEditor.GUI.ContextMenu;
|
||||
using FlaxEditor.Surface;
|
||||
using FlaxEditor.Viewport.Previews;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Windows.Assets
|
||||
{
|
||||
@@ -247,21 +249,9 @@ namespace FlaxEditor.Windows.Assets
|
||||
if (parameters.Length == 0)
|
||||
return;
|
||||
|
||||
// Utility buttons
|
||||
{
|
||||
var buttons = layout.CustomContainer<UniformGridPanel>();
|
||||
var gridControl = buttons.CustomControl;
|
||||
gridControl.ClipChildren = false;
|
||||
gridControl.Height = Button.DefaultHeight;
|
||||
gridControl.SlotsHorizontally = 2;
|
||||
gridControl.SlotsVertically = 1;
|
||||
var rebuildButton = buttons.Button("Remove overrides", "Unchecks all overrides for parameters.").Button;
|
||||
rebuildButton.Clicked += OnRemoveOverrides;
|
||||
var removeButton = buttons.Button("Override all", "Checks all parameters overrides.").Button;
|
||||
removeButton.Clicked += OnOverrideAll;
|
||||
}
|
||||
|
||||
var parametersGroup = SurfaceUtils.InitGraphParametersGroup(layout);
|
||||
var settingButton = parametersGroup.AddSettingsButton();
|
||||
settingButton.Clicked += (image, button) => OnSettingsButtonClicked(image, button, proxy.Window);
|
||||
var baseMaterial = materialInstance.BaseMaterial;
|
||||
var material = baseMaterial;
|
||||
if (material)
|
||||
@@ -323,6 +313,19 @@ namespace FlaxEditor.Windows.Assets
|
||||
itemLayout.Property(label, valueContainer, null, e.Tooltip?.Text);
|
||||
});
|
||||
}
|
||||
|
||||
private void OnSettingsButtonClicked(Image image, MouseButton mouseButton, MaterialInstanceWindow window)
|
||||
{
|
||||
if (mouseButton != MouseButton.Left)
|
||||
return;
|
||||
|
||||
var cm = new ContextMenu();
|
||||
if (window != null)
|
||||
cm.AddButton("Revert All Parameters", window.OnRevertAllParameters).TooltipText = "Reverts all the overridden parameters to the default values.";
|
||||
cm.AddButton("Override All Parameters", OnOverrideAll).TooltipText = "Checks all parameters overrides.";
|
||||
cm.AddButton("Remove Parameter Overrides", OnRemoveOverrides).TooltipText = "Unchecks all overrides for parameters.";
|
||||
cm.Show(image, image.Size);
|
||||
}
|
||||
|
||||
private void OnRemoveOverrides()
|
||||
{
|
||||
@@ -389,8 +392,6 @@ namespace FlaxEditor.Windows.Assets
|
||||
_undoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Undo64, _undo.PerformUndo).LinkTooltip($"Undo ({inputOptions.Undo})");
|
||||
_redoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Redo64, _undo.PerformRedo).LinkTooltip($"Redo ({inputOptions.Redo})");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(Editor.Icons.Rotate64, OnRevertAllParameters).LinkTooltip("Revert all the parameters to the default values");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(editor.Icons.Docs64, () => Platform.OpenUrl(Utilities.Constants.DocsUrl + "manual/graphics/materials/instanced-materials/index.html")).LinkTooltip("See documentation to learn more");
|
||||
|
||||
// Split Panel
|
||||
|
||||
@@ -257,8 +257,9 @@ namespace FlaxEditor.Windows.Assets
|
||||
};
|
||||
|
||||
// Toolstrip
|
||||
_toolstrip.AddSeparator();
|
||||
SurfaceUtils.PerformCommonSetup(this, _toolstrip, _surface, out _saveButton, out _undoButton, out _redoButton);
|
||||
_toolstrip.AddButton(editor.Icons.Code64, ShowSourceCode).LinkTooltip("Show generated shader source code");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(editor.Icons.Docs64, () => Platform.OpenUrl(Utilities.Constants.DocsUrl + "manual/graphics/materials/index.html")).LinkTooltip("See documentation to learn more");
|
||||
}
|
||||
|
||||
|
||||
@@ -141,8 +141,9 @@ namespace FlaxEditor.Windows.Assets
|
||||
};
|
||||
|
||||
// Toolstrip
|
||||
_toolstrip.AddSeparator();
|
||||
SurfaceUtils.PerformCommonSetup(this, _toolstrip, _surface, out _saveButton, out _undoButton, out _redoButton);
|
||||
_toolstrip.AddButton(editor.Icons.Code64, ShowSourceCode).LinkTooltip("Show generated shader source code");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(editor.Icons.Docs64, () => Platform.OpenUrl(Utilities.Constants.DocsUrl + "manual/particles/index.html")).LinkTooltip("See documentation to learn more");
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ using FlaxEditor.Content;
|
||||
using FlaxEditor.Content.Import;
|
||||
using FlaxEditor.CustomEditors;
|
||||
using FlaxEditor.CustomEditors.Editors;
|
||||
using FlaxEditor.CustomEditors.Elements;
|
||||
using FlaxEditor.GUI;
|
||||
using FlaxEditor.GUI.ContextMenu;
|
||||
using FlaxEditor.Scripting;
|
||||
@@ -133,10 +134,21 @@ namespace FlaxEditor.Windows.Assets
|
||||
group.Panel.Tag = i;
|
||||
group.Panel.MouseButtonRightClicked += OnGroupPanelMouseButtonRightClicked;
|
||||
group.Object(new ListValueContainer(elementType, i, Values));
|
||||
|
||||
var stringNameElement = group.Editors[0].ChildrenEditors.Find(x => x is StringEditor).Layout.Children.Find(x => x is TextBoxElement) as TextBoxElement;
|
||||
if (stringNameElement != null)
|
||||
{
|
||||
stringNameElement.TextBox.TextBoxEditEnd += (textbox) => OnNameChanged(group.Panel, (TextBox)textbox);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnNameChanged(DropPanel panel, TextBox textbox)
|
||||
{
|
||||
panel.HeaderText = textbox.Text;
|
||||
}
|
||||
|
||||
private void OnGroupPanelMouseButtonRightClicked(DropPanel groupPanel, Float2 location)
|
||||
{
|
||||
var menu = new ContextMenu();
|
||||
|
||||
@@ -70,13 +70,7 @@ namespace FlaxEditor.Windows.Assets
|
||||
_undo.ActionDone += OnUndoRedo;
|
||||
|
||||
// Toolstrip
|
||||
_saveButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Save64, Save).LinkTooltip("Save");
|
||||
_toolstrip.AddSeparator();
|
||||
_undoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Undo64, _undo.PerformUndo).LinkTooltip($"Undo ({inputOptions.Undo})");
|
||||
_redoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Redo64, _undo.PerformRedo).LinkTooltip($"Redo ({inputOptions.Redo})");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(Editor.Icons.Search64, Editor.ContentFinding.ShowSearch).LinkTooltip($"Open content search tool ({inputOptions.Search})");
|
||||
_toolstrip.AddButton(editor.Icons.CenterView64, ShowWholeGraph).LinkTooltip("Show whole graph");
|
||||
SurfaceUtils.PerformCommonSetup(this, _toolstrip, _surface, out _saveButton, out _undoButton, out _redoButton);
|
||||
|
||||
// Panel
|
||||
_panel = new Panel(ScrollBars.None)
|
||||
@@ -85,11 +79,6 @@ namespace FlaxEditor.Windows.Assets
|
||||
Offsets = new Margin(0, 0, _toolstrip.Bottom, 0),
|
||||
Parent = this
|
||||
};
|
||||
|
||||
// Setup input actions
|
||||
InputActions.Add(options => options.Undo, _undo.PerformUndo);
|
||||
InputActions.Add(options => options.Redo, _undo.PerformRedo);
|
||||
InputActions.Add(options => options.Search, Editor.ContentFinding.ShowSearch);
|
||||
}
|
||||
|
||||
private void OnUndoRedo(IUndoAction action)
|
||||
|
||||
@@ -597,13 +597,7 @@ namespace FlaxEditor.Windows.Assets
|
||||
_propertiesEditor.Select(_properties);
|
||||
|
||||
// Toolstrip
|
||||
_saveButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Save64, Save).LinkTooltip("Save");
|
||||
_toolstrip.AddSeparator();
|
||||
_undoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Undo64, _undo.PerformUndo).LinkTooltip($"Undo ({inputOptions.Undo})");
|
||||
_redoButton = (ToolStripButton)_toolstrip.AddButton(Editor.Icons.Redo64, _undo.PerformRedo).LinkTooltip($"Redo ({inputOptions.Redo})");
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(Editor.Icons.Search64, Editor.ContentFinding.ShowSearch).LinkTooltip($"Open content search tool ({inputOptions.Search})");
|
||||
_toolstrip.AddButton(editor.Icons.CenterView64, ShowWholeGraph).LinkTooltip("Show whole graph");
|
||||
SurfaceUtils.PerformCommonSetup(this, _toolstrip, _surface, out _saveButton, out _undoButton, out _redoButton);
|
||||
_toolstrip.AddSeparator();
|
||||
_toolstrip.AddButton(editor.Icons.Docs64, () => Platform.OpenUrl(Utilities.Constants.DocsUrl + "manual/scripting/visual/index.html")).LinkTooltip("See documentation to learn more");
|
||||
_debugToolstripControls = new[]
|
||||
@@ -643,9 +637,6 @@ namespace FlaxEditor.Windows.Assets
|
||||
debugObjectPickerContainer.Parent = _toolstrip;
|
||||
|
||||
// Setup input actions
|
||||
InputActions.Add(options => options.Undo, _undo.PerformUndo);
|
||||
InputActions.Add(options => options.Redo, _undo.PerformRedo);
|
||||
InputActions.Add(options => options.Search, Editor.ContentFinding.ShowSearch);
|
||||
InputActions.Add(options => options.DebuggerContinue, OnDebuggerContinue);
|
||||
InputActions.Add(options => options.DebuggerStepOver, OnDebuggerStepOver);
|
||||
InputActions.Add(options => options.DebuggerStepOut, OnDebuggerStepOut);
|
||||
@@ -1202,7 +1193,8 @@ namespace FlaxEditor.Windows.Assets
|
||||
|
||||
private bool SaveSurface()
|
||||
{
|
||||
_surface.Save();
|
||||
if (_surface.Save())
|
||||
return true;
|
||||
|
||||
// Reselect actors to prevent issues after Visual Script properties were modified
|
||||
Editor.Windows.PropertiesWin.Presenter.BuildLayoutOnUpdate();
|
||||
|
||||
Reference in New Issue
Block a user