Merge remote-tracking branch 'origin/master' into 1.7
This commit is contained in:
@@ -16,6 +16,7 @@ namespace FlaxEditor.CustomEditors.Editors
|
||||
/// <inheritdoc />
|
||||
protected override OptionType[] Options => new[]
|
||||
{
|
||||
new OptionType("null", null),
|
||||
new OptionType("Texture", typeof(TextureBrush)),
|
||||
new OptionType("Sprite", typeof(SpriteBrush)),
|
||||
new OptionType("GPU Texture", typeof(GPUTextureBrush)),
|
||||
|
||||
@@ -158,7 +158,9 @@ namespace FlaxEditor.CustomEditors.Editors
|
||||
if (comboBox.SelectedIndex != -1)
|
||||
{
|
||||
var option = _options[comboBox.SelectedIndex];
|
||||
value = option.Creator(option.Type);
|
||||
if (option.Type != null)
|
||||
value = option.Creator(option.Type);
|
||||
|
||||
}
|
||||
SetValue(value);
|
||||
RebuildLayoutOnRefresh();
|
||||
|
||||
@@ -23,6 +23,7 @@ namespace FlaxEditor.GUI.ContextMenu
|
||||
|
||||
private List<ContextMenu> _menus = new List<ContextMenu>();
|
||||
private List<SingleSelectGroupItem> _items = new List<SingleSelectGroupItem>();
|
||||
private bool _hasSelected = false;
|
||||
private SingleSelectGroupItem _selectedItem;
|
||||
|
||||
public T Selected
|
||||
@@ -31,7 +32,7 @@ namespace FlaxEditor.GUI.ContextMenu
|
||||
set
|
||||
{
|
||||
var index = _items.FindIndex(x => x.Value.Equals(value));
|
||||
if (index != -1 && !_selectedItem.Value.Equals(value))
|
||||
if (index != -1 && (!_hasSelected || !_selectedItem.Value.Equals(value)))
|
||||
{
|
||||
SetSelected(_items[index]);
|
||||
}
|
||||
@@ -70,7 +71,7 @@ namespace FlaxEditor.GUI.ContextMenu
|
||||
if (item.Tooltip != null)
|
||||
btn.TooltipText = item.Tooltip;
|
||||
item.Buttons.Add(btn);
|
||||
if (item.Equals(_selectedItem))
|
||||
if (_hasSelected && item.Equals(_selectedItem))
|
||||
btn.Checked = true;
|
||||
}
|
||||
|
||||
@@ -82,6 +83,7 @@ namespace FlaxEditor.GUI.ContextMenu
|
||||
btn.Checked = false;
|
||||
}
|
||||
_selectedItem = item;
|
||||
_hasSelected = true;
|
||||
|
||||
SelectedChanged?.Invoke(item.Value);
|
||||
item.Selected?.Invoke();
|
||||
|
||||
Reference in New Issue
Block a user