diff --git a/Source/Editor/CustomEditors/CustomEditor.cs b/Source/Editor/CustomEditors/CustomEditor.cs
index 253fbc590..e18e7029b 100644
--- a/Source/Editor/CustomEditors/CustomEditor.cs
+++ b/Source/Editor/CustomEditors/CustomEditor.cs
@@ -643,7 +643,7 @@ namespace FlaxEditor.CustomEditors
text = text.Remove(idx, endIdx - idx);
}
}
- else if (ScriptType.FlaxObject.IsAssignableFrom(Values.Type))
+ else if (Values.Type.IsScriptingObject)
{
// Object reference
text = JsonSerializer.GetStringID(value as FlaxEngine.Object);
@@ -691,7 +691,7 @@ namespace FlaxEditor.CustomEditors
return false;
}
}
- else if (ScriptType.FlaxObject.IsAssignableFrom(Values.Type))
+ else if (Values.Type.IsScriptingObject)
{
// Object reference
if (text.Length != 32)
diff --git a/Source/Editor/Scripting/ScriptType.cs b/Source/Editor/Scripting/ScriptType.cs
index 0fd57214f..6db13e07a 100644
--- a/Source/Editor/Scripting/ScriptType.cs
+++ b/Source/Editor/Scripting/ScriptType.cs
@@ -849,6 +849,11 @@ namespace FlaxEditor.Scripting
///
public bool IsVoid => _managed == typeof(void);
+ ///
+ /// Gets a value indicating whether this type is (eg. script or actor).
+ ///
+ public bool IsScriptingObject => FlaxObject.IsAssignableFrom(this);
+
///
/// Gets a value indicating whether the type is static.
///
diff --git a/Source/Editor/Surface/Elements/InputBox.cs b/Source/Editor/Surface/Elements/InputBox.cs
index 15548b9d9..73e3f82ba 100644
--- a/Source/Editor/Surface/Elements/InputBox.cs
+++ b/Source/Editor/Surface/Elements/InputBox.cs
@@ -1544,7 +1544,7 @@ namespace FlaxEditor.Surface.Elements
object obj;
var type = CurrentType;
- if (ScriptType.FlaxObject.IsAssignableFrom(type))
+ if (type.IsScriptingObject)
{
// Object reference
if (text.Length != 32)
diff --git a/Source/Editor/Surface/SurfaceStyle.cs b/Source/Editor/Surface/SurfaceStyle.cs
index 2997e1d21..e6bc82fe3 100644
--- a/Source/Editor/Surface/SurfaceStyle.cs
+++ b/Source/Editor/Surface/SurfaceStyle.cs
@@ -212,7 +212,7 @@ namespace FlaxEditor.Surface
color = Colors.Enum;
else if (type.IsValueType)
color = Colors.Structures;
- else if (ScriptType.FlaxObject.IsAssignableFrom(type) || type.IsInterface)
+ else if (type.IsScriptingObject || type.IsInterface)
color = Colors.Object;
else if (hint == ConnectionsHint.Vector)
color = Colors.Vector;
diff --git a/Source/Editor/Surface/VisjectSurface.Connecting.cs b/Source/Editor/Surface/VisjectSurface.Connecting.cs
index 6f60ca2e2..22616f6ad 100644
--- a/Source/Editor/Surface/VisjectSurface.Connecting.cs
+++ b/Source/Editor/Surface/VisjectSurface.Connecting.cs
@@ -72,7 +72,7 @@ namespace FlaxEditor.Surface
// Implicit casting is supported for object reference to test whenever it is valid
var toType = to.Type;
- if (supportsImplicitCastFromObjectToBoolean && toType == typeof(bool) && ScriptType.FlaxObject.IsAssignableFrom(from))
+ if (supportsImplicitCastFromObjectToBoolean && toType == typeof(bool) && from.IsScriptingObject)
{
return true;
}
diff --git a/Source/Editor/Utilities/ObjectSnapshot.cs b/Source/Editor/Utilities/ObjectSnapshot.cs
index c62a29795..a4b1317ee 100644
--- a/Source/Editor/Utilities/ObjectSnapshot.cs
+++ b/Source/Editor/Utilities/ObjectSnapshot.cs
@@ -65,7 +65,7 @@ namespace FlaxEditor.Utilities
&& memberValue != null
&& !refStack.Contains(memberValue))
{
- if (memberType.IsArray && !ScriptType.FlaxObject.IsAssignableFrom(memberType.GetElementType()))
+ if (memberType.IsArray && !memberType.GetElementType().IsScriptingObject)
{
// Array
var array = (Array)memberValue;
@@ -79,7 +79,7 @@ namespace FlaxEditor.Utilities
}
refStack.Pop();
}
- else if (typeof(IList).IsAssignableFrom(memberType.Type) && !ScriptType.FlaxObject.IsAssignableFrom(memberType.GetElementType()))
+ else if (typeof(IList).IsAssignableFrom(memberType.Type) && !memberType.GetElementType().IsScriptingObject)
{
// List
var list = (IList)memberValue;
@@ -106,7 +106,7 @@ namespace FlaxEditor.Utilities
GetEntries(new MemberInfoPath.Entry(member.Member, key), membersPath, result, values, refStack, valueType, value);
}
}
- else if (memberType.IsClass && !ScriptType.FlaxObject.IsAssignableFrom(memberType))
+ else if (memberType.IsClass && !memberType.IsScriptingObject)
{
// Object
refStack.Push(memberValue);
diff --git a/Source/Engine/AI/BehaviorTree.cs b/Source/Engine/AI/BehaviorTree.cs
index aebc07343..78ddf2932 100644
--- a/Source/Engine/AI/BehaviorTree.cs
+++ b/Source/Engine/AI/BehaviorTree.cs
@@ -81,7 +81,7 @@ namespace FlaxEngine
!type.IsAbstract &&
!type.IsArray &&
!type.IsVoid &&
- (type.IsStructure || ScriptType.FlaxObject.IsAssignableFrom(type)) &&
+ (type.IsStructure || type.IsScriptingObject) &&
type.IsPublic &&
type.CanCreateInstance;
}