diff --git a/Source/Editor/CustomEditors/Editors/TypeEditor.cs b/Source/Editor/CustomEditors/Editors/TypeEditor.cs
index 9b0a0d3db..fec571017 100644
--- a/Source/Editor/CustomEditors/Editors/TypeEditor.cs
+++ b/Source/Editor/CustomEditors/Editors/TypeEditor.cs
@@ -32,7 +32,7 @@ namespace FlaxEditor.CustomEditors.Editors
private DragHandlers _dragHandlers;
///
- /// Gets or sets the allowed type (given type and all sub classes). Must be type of any subclass.
+ /// Gets or sets the allowed type (given type and all subclasses). Must be type of any subclass.
///
public ScriptType Type
{
@@ -209,7 +209,6 @@ namespace FlaxEditor.CustomEditors.Editors
///
public override bool OnMouseUp(Float2 location, MouseButton button)
{
- // Cache data
bool isSelected = _value != ScriptType.Null;
var frameRect = new Rectangle(0, 0, Width - 16, 16);
if (isSelected && _type == ScriptType.Null)
@@ -220,11 +219,30 @@ namespace FlaxEditor.CustomEditors.Editors
// Deselect
if (_value && button1Rect.Contains(ref location) && _type == ScriptType.Null)
+ {
+ Focus();
Value = ScriptType.Null;
+ return true;
+ }
// Picker dropdown menu
if ((isSelected && _type == ScriptType.Null ? button2Rect : button1Rect).Contains(ref location))
+ {
ShowDropDownMenu();
+ return true;
+ }
+
+ // Clear value with MMB or show picker with RMB
+ if (button == MouseButton.Middle)
+ {
+ Focus();
+ Value = ScriptType.Null;
+ return true;
+ }
+ if (button == MouseButton.Right)
+ {
+ ShowDropDownMenu();
+ }
return base.OnMouseUp(location, button);
}