diff --git a/Source/Editor/CustomEditors/Editors/GenericEditor.cs b/Source/Editor/CustomEditors/Editors/GenericEditor.cs
index eec715a6b..264aaeeff 100644
--- a/Source/Editor/CustomEditors/Editors/GenericEditor.cs
+++ b/Source/Editor/CustomEditors/Editors/GenericEditor.cs
@@ -173,14 +173,15 @@ namespace FlaxEditor.CustomEditors.Editors
return string.Compare(Display.Group, other.Display.Group, StringComparison.InvariantCulture);
}
- if(Editor.Instance.Options.Options.General.ScriptMembersOrder == Options.GeneralOptions.MembersOrder.Declaration)
+ if (Editor.Instance.Options.Options.General.ScriptMembersOrder == Options.GeneralOptions.MembersOrder.Declaration)
{
// By declaration order
if (Info.MetadataToken > other.Info.MetadataToken)
return 1;
- else if (Info.MetadataToken < other.Info.MetadataToken)
+ if (Info.MetadataToken < other.Info.MetadataToken)
return -1;
}
+
// By name
return string.Compare(Info.Name, other.Info.Name, StringComparison.InvariantCulture);
}
diff --git a/Source/Editor/Options/GeneralOptions.cs b/Source/Editor/Options/GeneralOptions.cs
index 8d3948220..c260ae8b8 100644
--- a/Source/Editor/Options/GeneralOptions.cs
+++ b/Source/Editor/Options/GeneralOptions.cs
@@ -135,10 +135,10 @@ namespace FlaxEditor.Options
public bool ForceScriptCompilationOnStartup { get; set; } = true;
///
- /// Gets or sets a value indicating whether automatically save the Visual Script asset editors when starting the play mode in editor.
+ /// Gets or sets an order of script properties/fields in properties panel.
///
- [DefaultValue(true)]
- [EditorDisplay("Scripting", "Script Members Order"), EditorOrder(503), Tooltip("Sets the order of script properties/fields")]
+ [DefaultValue(MembersOrder.Alphabetical)]
+ [EditorDisplay("Scripting", "Script Members Order"), EditorOrder(503), Tooltip("Order of script properties/fields in properties panel")]
public MembersOrder ScriptMembersOrder { get; set; } = MembersOrder.Alphabetical;
///
diff --git a/Source/Editor/Scripting/ScriptType.cs b/Source/Editor/Scripting/ScriptType.cs
index 480ca6a4e..870d68eba 100644
--- a/Source/Editor/Scripting/ScriptType.cs
+++ b/Source/Editor/Scripting/ScriptType.cs
@@ -48,14 +48,14 @@ namespace FlaxEditor.Scripting
get
{
int standardToken = _managed?.MetadataToken ?? _custom?.MetadataToken ?? 0;
- if (_managed != null && IsProperty)
+ if (_managed is PropertyInfo && _managed.DeclaringType != null)
{
- ScriptMemberInfo finfo = DeclaringType.GetField(string.Format("<{0}>k__BackingField", Name), BindingFlags.Instance | BindingFlags.NonPublic);
- if(finfo.MetadataToken == 0)
+ var field = _managed.DeclaringType.GetField(string.Format("<{0}>k__BackingField", Name), BindingFlags.Instance | BindingFlags.NonPublic);
+ if (field == null || field.MetadataToken == 0)
{
return standardToken;
}
- return finfo.MetadataToken;
+ return field.MetadataToken;
}
return standardToken;
}