diff --git a/Source/Editor/Content/Items/VisualScriptItem.cs b/Source/Editor/Content/Items/VisualScriptItem.cs index eeb0fcd8f..2ddfcdfad 100644 --- a/Source/Editor/Content/Items/VisualScriptItem.cs +++ b/Source/Editor/Content/Items/VisualScriptItem.cs @@ -8,6 +8,7 @@ using System.Reflection; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.Json; +using FlaxEngine.Utilities; using Object = FlaxEngine.Object; namespace FlaxEditor.Content diff --git a/Source/Editor/Content/Proxy/BinaryAssetProxy.cs b/Source/Editor/Content/Proxy/BinaryAssetProxy.cs index dcd8fd68a..9924ff19f 100644 --- a/Source/Editor/Content/Proxy/BinaryAssetProxy.cs +++ b/Source/Editor/Content/Proxy/BinaryAssetProxy.cs @@ -2,6 +2,7 @@ using System; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Content { @@ -42,7 +43,7 @@ namespace FlaxEditor.Content /// public override AssetItem ConstructItem(string path, string typeName, ref Guid id) { - var type = Scripting.TypeUtils.GetType(typeName).Type; + var type = TypeUtils.GetType(typeName).Type; if (typeof(TextureBase).IsAssignableFrom(type)) return new TextureAssetItem(path, ref id, typeName, type); diff --git a/Source/Editor/Content/Proxy/VisualScriptProxy.cs b/Source/Editor/Content/Proxy/VisualScriptProxy.cs index ff2d8df65..c4fc804ae 100644 --- a/Source/Editor/Content/Proxy/VisualScriptProxy.cs +++ b/Source/Editor/Content/Proxy/VisualScriptProxy.cs @@ -8,6 +8,7 @@ using FlaxEditor.Windows; using FlaxEditor.Windows.Assets; using FlaxEngine; using FlaxEngine.Json; +using FlaxEngine.Utilities; namespace FlaxEditor.Content { diff --git a/Source/Editor/CustomEditors/CustomEditor.cs b/Source/Editor/CustomEditors/CustomEditor.cs index 684593352..4a3930ddb 100644 --- a/Source/Editor/CustomEditors/CustomEditor.cs +++ b/Source/Editor/CustomEditors/CustomEditor.cs @@ -7,6 +7,7 @@ using FlaxEditor.CustomEditors.GUI; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; using Newtonsoft.Json; using JsonSerializer = FlaxEngine.Json.JsonSerializer; diff --git a/Source/Editor/CustomEditors/CustomEditorPresenter.cs b/Source/Editor/CustomEditors/CustomEditorPresenter.cs index a04070a06..73e2ede0f 100644 --- a/Source/Editor/CustomEditors/CustomEditorPresenter.cs +++ b/Source/Editor/CustomEditors/CustomEditorPresenter.cs @@ -6,6 +6,7 @@ using System.Linq; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors { diff --git a/Source/Editor/CustomEditors/CustomEditorsUtil.cs b/Source/Editor/CustomEditors/CustomEditorsUtil.cs index 2a587d188..d6769270b 100644 --- a/Source/Editor/CustomEditors/CustomEditorsUtil.cs +++ b/Source/Editor/CustomEditors/CustomEditorsUtil.cs @@ -9,6 +9,7 @@ using System.Runtime.InteropServices.Marshalling; using FlaxEditor.CustomEditors.Editors; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors { diff --git a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs index 75e3fff23..f8dbf03a9 100644 --- a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs @@ -12,6 +12,7 @@ using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Json; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Dedicated { diff --git a/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs b/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs index 73a43f1bf..5cc32298e 100644 --- a/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/ScriptsEditor.cs @@ -12,6 +12,7 @@ using FlaxEditor.GUI.Drag; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; using Object = FlaxEngine.Object; namespace FlaxEditor.CustomEditors.Dedicated diff --git a/Source/Editor/CustomEditors/Editors/ArrayEditor.cs b/Source/Editor/CustomEditors/Editors/ArrayEditor.cs index de8491bcf..4d7beadda 100644 --- a/Source/Editor/CustomEditors/Editors/ArrayEditor.cs +++ b/Source/Editor/CustomEditors/Editors/ArrayEditor.cs @@ -4,6 +4,7 @@ using System; using System.Collections; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Editors/AssetRefEditor.cs b/Source/Editor/CustomEditors/Editors/AssetRefEditor.cs index ddfe54897..17999d772 100644 --- a/Source/Editor/CustomEditors/Editors/AssetRefEditor.cs +++ b/Source/Editor/CustomEditors/Editors/AssetRefEditor.cs @@ -6,6 +6,7 @@ using FlaxEditor.Content; using FlaxEditor.GUI; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Editors/CollectionEditor.cs b/Source/Editor/CustomEditors/Editors/CollectionEditor.cs index 318dafcc6..08b8b37e0 100644 --- a/Source/Editor/CustomEditors/Editors/CollectionEditor.cs +++ b/Source/Editor/CustomEditors/Editors/CollectionEditor.cs @@ -9,6 +9,7 @@ using FlaxEditor.GUI.ContextMenu; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs b/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs index 7dd590576..6f1b95bb8 100644 --- a/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs +++ b/Source/Editor/CustomEditors/Editors/DictionaryEditor.cs @@ -12,6 +12,7 @@ using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Json; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Editors/EnumEditor.cs b/Source/Editor/CustomEditors/Editors/EnumEditor.cs index 8f1da88db..3e305b09b 100644 --- a/Source/Editor/CustomEditors/Editors/EnumEditor.cs +++ b/Source/Editor/CustomEditors/Editors/EnumEditor.cs @@ -5,6 +5,7 @@ using System.Linq; using FlaxEditor.CustomEditors.Elements; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Editors/FlaxObjectRefEditor.cs b/Source/Editor/CustomEditors/Editors/FlaxObjectRefEditor.cs index c9c49e7cb..731da3817 100644 --- a/Source/Editor/CustomEditors/Editors/FlaxObjectRefEditor.cs +++ b/Source/Editor/CustomEditors/Editors/FlaxObjectRefEditor.cs @@ -10,6 +10,7 @@ using FlaxEditor.SceneGraph; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; using Object = FlaxEngine.Object; namespace FlaxEditor.CustomEditors.Editors diff --git a/Source/Editor/CustomEditors/Editors/GenericEditor.cs b/Source/Editor/CustomEditors/Editors/GenericEditor.cs index 7c021613e..cba2b5a5a 100644 --- a/Source/Editor/CustomEditors/Editors/GenericEditor.cs +++ b/Source/Editor/CustomEditors/Editors/GenericEditor.cs @@ -12,6 +12,7 @@ using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Json; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Editors/ListEditor.cs b/Source/Editor/CustomEditors/Editors/ListEditor.cs index 866adf56d..12bacfcd5 100644 --- a/Source/Editor/CustomEditors/Editors/ListEditor.cs +++ b/Source/Editor/CustomEditors/Editors/ListEditor.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Collections.Generic; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { @@ -20,7 +21,7 @@ namespace FlaxEditor.CustomEditors.Editors { var listType = Values.Type; var list = (IList)listType.CreateInstance(); - var defaultValue = Scripting.TypeUtils.GetDefaultValue(ElementType); + var defaultValue = TypeUtils.GetDefaultValue(ElementType); for (int i = 0; i < size; i++) list.Add(defaultValue); return list; @@ -55,7 +56,7 @@ namespace FlaxEditor.CustomEditors.Editors else { // Initialize new entries with default values - var defaultValue = Scripting.TypeUtils.GetDefaultValue(elementType); + var defaultValue = TypeUtils.GetDefaultValue(elementType); for (int i = oldSize; i < newSize; i++) newValues.Add(defaultValue); } @@ -63,7 +64,7 @@ namespace FlaxEditor.CustomEditors.Editors else if (newSize > 0) { // Fill new entries with default value - var defaultValue = Scripting.TypeUtils.GetDefaultValue(elementType); + var defaultValue = TypeUtils.GetDefaultValue(elementType); for (int i = oldSize; i < newSize; i++) newValues.Add(defaultValue); } diff --git a/Source/Editor/CustomEditors/Editors/ObjectSwitcherEditor.cs b/Source/Editor/CustomEditors/Editors/ObjectSwitcherEditor.cs index 7e86df06f..25a058d86 100644 --- a/Source/Editor/CustomEditors/Editors/ObjectSwitcherEditor.cs +++ b/Source/Editor/CustomEditors/Editors/ObjectSwitcherEditor.cs @@ -3,6 +3,7 @@ using System; using FlaxEditor.GUI; using FlaxEditor.Scripting; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Editors/TypeEditor.cs b/Source/Editor/CustomEditors/Editors/TypeEditor.cs index 722235088..eb0c839ed 100644 --- a/Source/Editor/CustomEditors/Editors/TypeEditor.cs +++ b/Source/Editor/CustomEditors/Editors/TypeEditor.cs @@ -9,6 +9,7 @@ using FlaxEditor.GUI.Drag; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors.Editors { diff --git a/Source/Editor/CustomEditors/Values/ValueContainer.cs b/Source/Editor/CustomEditors/Values/ValueContainer.cs index 9125b7006..b1fd54e3b 100644 --- a/Source/Editor/CustomEditors/Values/ValueContainer.cs +++ b/Source/Editor/CustomEditors/Values/ValueContainer.cs @@ -6,6 +6,7 @@ using System.ComponentModel; using System.Linq; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.CustomEditors { diff --git a/Source/Editor/GUI/AssetPicker.cs b/Source/Editor/GUI/AssetPicker.cs index a359c288c..41f360195 100644 --- a/Source/Editor/GUI/AssetPicker.cs +++ b/Source/Editor/GUI/AssetPicker.cs @@ -7,6 +7,7 @@ using FlaxEditor.GUI.Drag; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI { diff --git a/Source/Editor/GUI/CurveEditor.Contents.cs b/Source/Editor/GUI/CurveEditor.Contents.cs index dca6d0450..2d3c2d606 100644 --- a/Source/Editor/GUI/CurveEditor.Contents.cs +++ b/Source/Editor/GUI/CurveEditor.Contents.cs @@ -8,6 +8,7 @@ using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Json; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI { diff --git a/Source/Editor/GUI/Drag/DragActorType.cs b/Source/Editor/GUI/Drag/DragActorType.cs index 40b66bbdf..ac62a045b 100644 --- a/Source/Editor/GUI/Drag/DragActorType.cs +++ b/Source/Editor/GUI/Drag/DragActorType.cs @@ -6,6 +6,7 @@ using FlaxEditor.SceneGraph; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Drag { diff --git a/Source/Editor/GUI/Popups/ScriptSearchPopup.cs b/Source/Editor/GUI/Popups/ScriptSearchPopup.cs index 839346b5a..b771adff6 100644 --- a/Source/Editor/GUI/Popups/ScriptSearchPopup.cs +++ b/Source/Editor/GUI/Popups/ScriptSearchPopup.cs @@ -4,6 +4,7 @@ using System; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI { diff --git a/Source/Editor/GUI/Timeline/GUI/KeyframesEditor.cs b/Source/Editor/GUI/Timeline/GUI/KeyframesEditor.cs index afc0768d9..cb781229f 100644 --- a/Source/Editor/GUI/Timeline/GUI/KeyframesEditor.cs +++ b/Source/Editor/GUI/Timeline/GUI/KeyframesEditor.cs @@ -11,6 +11,7 @@ using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Json; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI { diff --git a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs index 5b7ecddef..4e78ca8ae 100644 --- a/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/AnimationEventTrack.cs @@ -10,6 +10,7 @@ using FlaxEditor.Scripting; using FlaxEditor.Utilities; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; using Object = FlaxEngine.Object; namespace FlaxEditor.GUI.Timeline.Tracks diff --git a/Source/Editor/GUI/Timeline/Tracks/CurvePropertyTrack.cs b/Source/Editor/GUI/Timeline/Tracks/CurvePropertyTrack.cs index e74fd0273..65caf4f3d 100644 --- a/Source/Editor/GUI/Timeline/Tracks/CurvePropertyTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/CurvePropertyTrack.cs @@ -9,6 +9,7 @@ using System.Text; using FlaxEditor.GUI.Timeline.Undo; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Timeline.Tracks { @@ -539,7 +540,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks throw new Exception("Invalid track data."); var keyframes = new object[keyframesCount]; - var propertyType = Scripting.TypeUtils.GetType(e.MemberTypeName).Type; + var propertyType = TypeUtils.GetType(e.MemberTypeName).Type; if (propertyType == null) { stream.ReadBytes(keyframesCount * (sizeof(float) + valueSize * 3)); diff --git a/Source/Editor/GUI/Timeline/Tracks/EventTrack.cs b/Source/Editor/GUI/Timeline/Tracks/EventTrack.cs index e7e34fdda..f13bfe811 100644 --- a/Source/Editor/GUI/Timeline/Tracks/EventTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/EventTrack.cs @@ -10,6 +10,7 @@ using System.Text; using FlaxEditor.GUI.Timeline.Undo; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Timeline.Tracks { @@ -51,7 +52,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks { e.EventParamsSizes[i] = stream.ReadInt32(); var paramTypeName = LoadName(stream); - e.EventParamsTypes[i] = Scripting.TypeUtils.GetManagedType(paramTypeName); + e.EventParamsTypes[i] = TypeUtils.GetManagedType(paramTypeName); if (e.EventParamsTypes[i] == null) isInvalid = true; } diff --git a/Source/Editor/GUI/Timeline/Tracks/KeyframesPropertyTrack.cs b/Source/Editor/GUI/Timeline/Tracks/KeyframesPropertyTrack.cs index f2ac84a4d..fa80912f9 100644 --- a/Source/Editor/GUI/Timeline/Tracks/KeyframesPropertyTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/KeyframesPropertyTrack.cs @@ -9,6 +9,7 @@ using System.Text; using FlaxEditor.GUI.Timeline.Undo; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Timeline.Tracks { @@ -56,7 +57,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks var keyframes = new KeyframesEditor.Keyframe[keyframesCount]; var dataBuffer = new byte[e.ValueSize]; - var propertyType = Scripting.TypeUtils.GetManagedType(e.MemberTypeName); + var propertyType = TypeUtils.GetManagedType(e.MemberTypeName); if (propertyType == null) { e.Keyframes.ResetKeyframes(); diff --git a/Source/Editor/GUI/Timeline/Tracks/ObjectPropertyTrack.cs b/Source/Editor/GUI/Timeline/Tracks/ObjectPropertyTrack.cs index c753c98ed..fde00ecaf 100644 --- a/Source/Editor/GUI/Timeline/Tracks/ObjectPropertyTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/ObjectPropertyTrack.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Text; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Timeline.Tracks { @@ -48,7 +49,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks if (stream.ReadChar() != 0) throw new Exception("Invalid track data."); - var propertyType = Scripting.TypeUtils.GetType(e.MemberTypeName); + var propertyType = TypeUtils.GetType(e.MemberTypeName); if (!propertyType) { if (!string.IsNullOrEmpty(e.MemberTypeName)) diff --git a/Source/Editor/GUI/Timeline/Tracks/ObjectReferencePropertyTrack.cs b/Source/Editor/GUI/Timeline/Tracks/ObjectReferencePropertyTrack.cs index da1502b71..371d65082 100644 --- a/Source/Editor/GUI/Timeline/Tracks/ObjectReferencePropertyTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/ObjectReferencePropertyTrack.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Reflection; using System.Text; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Timeline.Tracks { @@ -51,7 +52,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks throw new Exception("Invalid track data."); var keyframes = new KeyframesEditor.Keyframe[keyframesCount]; - var propertyType = Scripting.TypeUtils.GetType(e.MemberTypeName); + var propertyType = TypeUtils.GetType(e.MemberTypeName); if (!propertyType) { e.Keyframes.ResetKeyframes(); diff --git a/Source/Editor/GUI/Timeline/Tracks/StringPropertyTrack.cs b/Source/Editor/GUI/Timeline/Tracks/StringPropertyTrack.cs index ffbf64a99..6e733f47d 100644 --- a/Source/Editor/GUI/Timeline/Tracks/StringPropertyTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/StringPropertyTrack.cs @@ -3,6 +3,7 @@ using System; using System.IO; using System.Text; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Timeline.Tracks { @@ -50,7 +51,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks throw new Exception("Invalid track data."); var keyframes = new KeyframesEditor.Keyframe[keyframesCount]; - var propertyType = Scripting.TypeUtils.GetType(e.MemberTypeName); + var propertyType = TypeUtils.GetType(e.MemberTypeName); if (!propertyType) { e.Keyframes.ResetKeyframes(); diff --git a/Source/Editor/GUI/Timeline/Tracks/StructPropertyTrack.cs b/Source/Editor/GUI/Timeline/Tracks/StructPropertyTrack.cs index 6cce0d738..26f9d2ad9 100644 --- a/Source/Editor/GUI/Timeline/Tracks/StructPropertyTrack.cs +++ b/Source/Editor/GUI/Timeline/Tracks/StructPropertyTrack.cs @@ -5,6 +5,7 @@ using System.IO; using System.Reflection; using System.Text; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.GUI.Timeline.Tracks { @@ -49,7 +50,7 @@ namespace FlaxEditor.GUI.Timeline.Tracks if (stream.ReadChar() != 0) throw new Exception("Invalid track data."); - var propertyType = Scripting.TypeUtils.GetType(e.MemberTypeName); + var propertyType = TypeUtils.GetType(e.MemberTypeName); if (!propertyType) { if (!string.IsNullOrEmpty(e.MemberTypeName)) diff --git a/Source/Editor/Modules/ContentDatabaseModule.cs b/Source/Editor/Modules/ContentDatabaseModule.cs index e5b2efee3..672de6d28 100644 --- a/Source/Editor/Modules/ContentDatabaseModule.cs +++ b/Source/Editor/Modules/ContentDatabaseModule.cs @@ -8,6 +8,7 @@ using FlaxEditor.Content; using FlaxEditor.Content.Settings; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Modules { diff --git a/Source/Editor/Modules/SourceCodeEditing/CachedCustomAnimGraphNodesCollection.cs b/Source/Editor/Modules/SourceCodeEditing/CachedCustomAnimGraphNodesCollection.cs index 113a701c6..499a472d6 100644 --- a/Source/Editor/Modules/SourceCodeEditing/CachedCustomAnimGraphNodesCollection.cs +++ b/Source/Editor/Modules/SourceCodeEditing/CachedCustomAnimGraphNodesCollection.cs @@ -6,6 +6,7 @@ using System.Reflection; using FlaxEditor.Scripting; using FlaxEditor.Surface; using FlaxEngine; +using FlaxEngine.Utilities; using MethodInfo = System.Reflection.MethodInfo; namespace FlaxEditor.Modules.SourceCodeEditing @@ -106,7 +107,7 @@ namespace FlaxEditor.Modules.SourceCodeEditing // Validate node type var typeName = Surface.Archetypes.Custom.GetNodeTypeName(arch); - var type = Scripting.TypeUtils.GetType(typeName).Type; + var type = TypeUtils.GetType(typeName).Type; if (type == null) { Debug.LogWarning(string.Format("Method {0} from {1} returned invalid node archetype. Failed to find node logic defined in type {2}.", method, method.DeclaringType, typeName)); diff --git a/Source/Editor/Modules/SourceCodeEditing/CachedTypesCollection.cs b/Source/Editor/Modules/SourceCodeEditing/CachedTypesCollection.cs index 6e0517175..a73c3d2ee 100644 --- a/Source/Editor/Modules/SourceCodeEditing/CachedTypesCollection.cs +++ b/Source/Editor/Modules/SourceCodeEditing/CachedTypesCollection.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Reflection; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Modules.SourceCodeEditing { diff --git a/Source/Editor/Modules/SourceCodeEditing/CodeEditingModule.cs b/Source/Editor/Modules/SourceCodeEditing/CodeEditingModule.cs index bce95566f..c61fad713 100644 --- a/Source/Editor/Modules/SourceCodeEditing/CodeEditingModule.cs +++ b/Source/Editor/Modules/SourceCodeEditing/CodeEditingModule.cs @@ -8,6 +8,7 @@ using FlaxEditor.Options; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Modules.SourceCodeEditing { diff --git a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs index 6b6ea2f20..606462ef8 100644 --- a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs +++ b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs @@ -13,6 +13,7 @@ using FlaxEditor.Windows; using FlaxEditor.Windows.Assets; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; using Object = FlaxEngine.Object; namespace FlaxEditor.SceneGraph.GUI diff --git a/Source/Editor/Scripting/ScriptType.Interfaces.cs b/Source/Editor/Scripting/ScriptType.Interfaces.cs index fb4230256..3b3b28ccb 100644 --- a/Source/Editor/Scripting/ScriptType.Interfaces.cs +++ b/Source/Editor/Scripting/ScriptType.Interfaces.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Reflection; using FlaxEditor.Content; +using FlaxEngine.Utilities; namespace FlaxEditor.Scripting { diff --git a/Source/Editor/Scripting/ScriptType.cs b/Source/Editor/Scripting/ScriptType.cs index d6b4fa271..aa0ca5655 100644 --- a/Source/Editor/Scripting/ScriptType.cs +++ b/Source/Editor/Scripting/ScriptType.cs @@ -8,6 +8,7 @@ using System.Runtime.CompilerServices; using System.Text; using FlaxEditor.Content; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Scripting { diff --git a/Source/Editor/Scripting/TypeUtils.cs b/Source/Editor/Scripting/TypeUtils.cs index 3af3106f0..4f66d6320 100644 --- a/Source/Editor/Scripting/TypeUtils.cs +++ b/Source/Editor/Scripting/TypeUtils.cs @@ -5,14 +5,12 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; -using FlaxEngine; +using FlaxEditor; +using FlaxEditor.Scripting; -namespace FlaxEditor.Scripting +namespace FlaxEngine.Utilities { - /// - /// Editor scripting utilities and helper functions. - /// - public static class TypeUtils + partial class TypeUtils { /// /// Custom list of scripting types containers. Can be used by custom scripting languages to provide types info for the editor. @@ -35,34 +33,6 @@ namespace FlaxEditor.Scripting return o != null ? new ScriptType(o.GetType()) : ScriptType.Null; } - /// - /// Gets the typename full name. - /// - /// The type. - /// The full typename of the type. - public static string GetTypeName(this Type type) - { - if (type.IsGenericType) - { - // For generic types (eg. Dictionary) FullName returns generic parameter types with fully qualified name so simplify it manually - var sb = new StringBuilder(); - sb.Append(type.Namespace); - sb.Append('.'); - sb.Append(type.Name); - sb.Append('['); - var genericArgs = type.GetGenericArguments(); - for (var i = 0; i < genericArgs.Length; i++) - { - if (i != 0) - sb.Append(','); - sb.Append(genericArgs[i].GetTypeName()); - } - sb.Append(']'); - return sb.ToString(); - } - return type.FullName; - } - /// /// Gets the typename name for UI. /// @@ -131,7 +101,7 @@ namespace FlaxEditor.Scripting if (type.IsValueType) { var value = type.CreateInstance(); - Utilities.Utils.InitDefaultValues(value); + FlaxEditor.Utilities.Utils.InitDefaultValues(value); return value; } if (ScriptType.Object.IsAssignableFrom(type)) @@ -139,7 +109,7 @@ namespace FlaxEditor.Scripting if (type.CanCreateInstance) { var value = type.CreateInstance(); - Utilities.Utils.InitDefaultValues(value); + FlaxEditor.Utilities.Utils.InitDefaultValues(value); return value; } return null; @@ -366,7 +336,7 @@ namespace FlaxEditor.Scripting } } - if (!Content.Settings.GameSettings.OptionalPlatformSettings.Contains(typeName)) + if (!FlaxEditor.Content.Settings.GameSettings.OptionalPlatformSettings.Contains(typeName)) Editor.LogWarning($"Failed to find type '{typeName}'."); return ScriptType.Null; } diff --git a/Source/Editor/Surface/Archetypes/Constants.cs b/Source/Editor/Surface/Archetypes/Constants.cs index 122093cbb..72a77ea4d 100644 --- a/Source/Editor/Surface/Archetypes/Constants.cs +++ b/Source/Editor/Surface/Archetypes/Constants.cs @@ -14,6 +14,7 @@ using FlaxEditor.Scripting; using FlaxEditor.Surface.Elements; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface.Archetypes { diff --git a/Source/Editor/Surface/Archetypes/Parameters.cs b/Source/Editor/Surface/Archetypes/Parameters.cs index 179ff8d84..c7f343cfb 100644 --- a/Source/Editor/Surface/Archetypes/Parameters.cs +++ b/Source/Editor/Surface/Archetypes/Parameters.cs @@ -12,6 +12,7 @@ using FlaxEditor.GUI; using FlaxEditor.Scripting; using FlaxEditor.Surface.Elements; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface.Archetypes { diff --git a/Source/Editor/Surface/Archetypes/Tools.cs b/Source/Editor/Surface/Archetypes/Tools.cs index 13cefd8a4..9f6db7ea4 100644 --- a/Source/Editor/Surface/Archetypes/Tools.cs +++ b/Source/Editor/Surface/Archetypes/Tools.cs @@ -10,6 +10,7 @@ using FlaxEditor.Scripting; using FlaxEditor.Surface.Elements; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface.Archetypes { diff --git a/Source/Editor/Surface/ContextMenu/VisjectCM.cs b/Source/Editor/Surface/ContextMenu/VisjectCM.cs index 9551f0f34..8372ac9cf 100644 --- a/Source/Editor/Surface/ContextMenu/VisjectCM.cs +++ b/Source/Editor/Surface/ContextMenu/VisjectCM.cs @@ -8,6 +8,7 @@ using FlaxEditor.GUI.Input; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface.ContextMenu { diff --git a/Source/Editor/Surface/Elements/ActorSelect.cs b/Source/Editor/Surface/Elements/ActorSelect.cs index 6da454ccf..3be493db7 100644 --- a/Source/Editor/Surface/Elements/ActorSelect.cs +++ b/Source/Editor/Surface/Elements/ActorSelect.cs @@ -3,6 +3,7 @@ using System; using FlaxEditor.CustomEditors.Editors; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface.Elements { @@ -30,7 +31,7 @@ namespace FlaxEditor.Surface.Elements ParentNode = parentNode; Archetype = archetype; Bounds = new Rectangle(Archetype.ActualPosition, archetype.Size); - Type = Scripting.TypeUtils.GetType(archetype.Text); + Type = TypeUtils.GetType(archetype.Text); ParentNode.ValuesChanged += OnNodeValuesChanged; OnNodeValuesChanged(); diff --git a/Source/Editor/Surface/Elements/AssetSelect.cs b/Source/Editor/Surface/Elements/AssetSelect.cs index 933451259..e38989e08 100644 --- a/Source/Editor/Surface/Elements/AssetSelect.cs +++ b/Source/Editor/Surface/Elements/AssetSelect.cs @@ -3,6 +3,7 @@ using System; using FlaxEditor.GUI; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface.Elements { @@ -26,7 +27,7 @@ namespace FlaxEditor.Surface.Elements /// The parent node. /// The archetype. public AssetSelect(SurfaceNode parentNode, NodeElementArchetype archetype) - : base(Scripting.TypeUtils.GetType(archetype.Text), archetype.ActualPosition) + : base(TypeUtils.GetType(archetype.Text), archetype.ActualPosition) { ParentNode = parentNode; Archetype = archetype; diff --git a/Source/Editor/Surface/Elements/EnumValue.cs b/Source/Editor/Surface/Elements/EnumValue.cs index 09591e55a..065646a53 100644 --- a/Source/Editor/Surface/Elements/EnumValue.cs +++ b/Source/Editor/Surface/Elements/EnumValue.cs @@ -2,6 +2,7 @@ using System; using FlaxEditor.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface.Elements { @@ -26,7 +27,7 @@ namespace FlaxEditor.Surface.Elements /// public EnumValue(SurfaceNode parentNode, NodeElementArchetype archetype) - : base(Scripting.TypeUtils.GetType(archetype.Text).Type) + : base(TypeUtils.GetType(archetype.Text).Type) { X = archetype.ActualPositionX; Y = archetype.ActualPositionY; diff --git a/Source/Editor/Surface/Elements/InputBox.cs b/Source/Editor/Surface/Elements/InputBox.cs index a8954b797..4eac03105 100644 --- a/Source/Editor/Surface/Elements/InputBox.cs +++ b/Source/Editor/Surface/Elements/InputBox.cs @@ -17,6 +17,7 @@ using FlaxEditor.GUI.Input; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; using Newtonsoft.Json; using JsonSerializer = FlaxEngine.Json.JsonSerializer; diff --git a/Source/Editor/Surface/SurfaceParameter.cs b/Source/Editor/Surface/SurfaceParameter.cs index cfec4104a..6eafdc2aa 100644 --- a/Source/Editor/Surface/SurfaceParameter.cs +++ b/Source/Editor/Surface/SurfaceParameter.cs @@ -3,6 +3,7 @@ using System; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface { diff --git a/Source/Editor/Surface/SurfaceStyle.cs b/Source/Editor/Surface/SurfaceStyle.cs index f3c2c6f18..18fa70e4e 100644 --- a/Source/Editor/Surface/SurfaceStyle.cs +++ b/Source/Editor/Surface/SurfaceStyle.cs @@ -3,6 +3,7 @@ using System; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Surface { diff --git a/Source/Editor/Surface/VisjectSurface.CopyPaste.cs b/Source/Editor/Surface/VisjectSurface.CopyPaste.cs index ba7684127..3a5be4857 100644 --- a/Source/Editor/Surface/VisjectSurface.CopyPaste.cs +++ b/Source/Editor/Surface/VisjectSurface.CopyPaste.cs @@ -6,6 +6,7 @@ using FlaxEditor.Scripting; using FlaxEditor.Surface.Elements; using FlaxEditor.Surface.Undo; using FlaxEngine; +using FlaxEngine.Utilities; using Newtonsoft.Json; using Newtonsoft.Json.Linq; diff --git a/Source/Editor/Surface/VisualScriptSurface.cs b/Source/Editor/Surface/VisualScriptSurface.cs index b40fb1603..e961f686d 100644 --- a/Source/Editor/Surface/VisualScriptSurface.cs +++ b/Source/Editor/Surface/VisualScriptSurface.cs @@ -21,6 +21,7 @@ using FlaxEditor.Surface.ContextMenu; using FlaxEditor.Surface.Elements; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; using Object = FlaxEngine.Object; namespace FlaxEditor.Surface diff --git a/Source/Editor/Undo/Actions/AddRemoveScriptAction.cs b/Source/Editor/Undo/Actions/AddRemoveScriptAction.cs index 567bd39e9..69a790b39 100644 --- a/Source/Editor/Undo/Actions/AddRemoveScriptAction.cs +++ b/Source/Editor/Undo/Actions/AddRemoveScriptAction.cs @@ -3,6 +3,7 @@ using System; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; using Object = FlaxEngine.Object; namespace FlaxEditor.Actions diff --git a/Source/Editor/Undo/Actions/DeleteActorsAction.cs b/Source/Editor/Undo/Actions/DeleteActorsAction.cs index 740f41306..292497a4c 100644 --- a/Source/Editor/Undo/Actions/DeleteActorsAction.cs +++ b/Source/Editor/Undo/Actions/DeleteActorsAction.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using FlaxEditor.SceneGraph; using FlaxEditor.Scripting; using FlaxEngine; +using FlaxEngine.Utilities; namespace FlaxEditor.Actions { diff --git a/Source/Editor/Utilities/ObjectSnapshot.cs b/Source/Editor/Utilities/ObjectSnapshot.cs index 2a1c320f3..a0e5e2c97 100644 --- a/Source/Editor/Utilities/ObjectSnapshot.cs +++ b/Source/Editor/Utilities/ObjectSnapshot.cs @@ -10,6 +10,7 @@ using System.Reflection; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.Json; +using FlaxEngine.Utilities; namespace FlaxEditor.Utilities { diff --git a/Source/Editor/Utilities/Utils.cs b/Source/Editor/Utilities/Utils.cs index 2012436ae..0d3d8e4e1 100644 --- a/Source/Editor/Utilities/Utils.cs +++ b/Source/Editor/Utilities/Utils.cs @@ -20,6 +20,7 @@ using FlaxEditor.SceneGraph; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEngine { diff --git a/Source/Editor/Windows/Assets/GameplayGlobalsWindow.cs b/Source/Editor/Windows/Assets/GameplayGlobalsWindow.cs index bfd93d5ae..56fb029cd 100644 --- a/Source/Editor/Windows/Assets/GameplayGlobalsWindow.cs +++ b/Source/Editor/Windows/Assets/GameplayGlobalsWindow.cs @@ -11,6 +11,7 @@ using FlaxEditor.GUI.ContextMenu; using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Windows.Assets { diff --git a/Source/Editor/Windows/Assets/VisualScriptWindow.cs b/Source/Editor/Windows/Assets/VisualScriptWindow.cs index 94eaab4be..ed20b591e 100644 --- a/Source/Editor/Windows/Assets/VisualScriptWindow.cs +++ b/Source/Editor/Windows/Assets/VisualScriptWindow.cs @@ -16,6 +16,7 @@ using FlaxEditor.Surface; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Json; +using FlaxEngine.Utilities; using FlaxEngine.Windows.Search; #pragma warning disable 649 diff --git a/Source/Editor/Windows/Search/ContentSearchWindow.cs b/Source/Editor/Windows/Search/ContentSearchWindow.cs index 5ee3ff11c..e6e407247 100644 --- a/Source/Editor/Windows/Search/ContentSearchWindow.cs +++ b/Source/Editor/Windows/Search/ContentSearchWindow.cs @@ -17,6 +17,7 @@ using FlaxEditor.Surface; using FlaxEditor.Windows; using FlaxEditor.Windows.Assets; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEngine.Windows.Search { diff --git a/Source/Editor/Windows/VisualScriptDebuggerWindow.cs b/Source/Editor/Windows/VisualScriptDebuggerWindow.cs index c85507a1c..330a3963b 100644 --- a/Source/Editor/Windows/VisualScriptDebuggerWindow.cs +++ b/Source/Editor/Windows/VisualScriptDebuggerWindow.cs @@ -12,6 +12,7 @@ using FlaxEditor.Surface; using FlaxEditor.Windows.Assets; using FlaxEngine; using FlaxEngine.GUI; +using FlaxEngine.Utilities; namespace FlaxEditor.Windows { diff --git a/Source/Engine/Engine/NativeInterop.cs b/Source/Engine/Engine/NativeInterop.cs index c97848ed9..8a5ffcf9c 100644 --- a/Source/Engine/Engine/NativeInterop.cs +++ b/Source/Engine/Engine/NativeInterop.cs @@ -1988,17 +1988,11 @@ namespace FlaxEngine { var type = assemblyTypes[i]; IntPtr ptr = IntPtr.Add(new IntPtr(arr), Unsafe.SizeOf() * i); - bool isStatic = type.IsAbstract && type.IsSealed; - bool isInterface = type.IsInterface; - bool isAbstract = type.IsAbstract; - - ManagedHandle typeHandle = GetTypeGCHandle(type); - - NativeClassDefinitions managedClass = new NativeClassDefinitions() + var managedClass = new NativeClassDefinitions { - typeHandle = typeHandle, + typeHandle = GetTypeGCHandle(type), name = NativeAllocStringAnsi(type.Name), - fullname = NativeAllocStringAnsi(type.FullName), + fullname = NativeAllocStringAnsi(type.GetTypeName()), @namespace = NativeAllocStringAnsi(type.Namespace ?? ""), typeAttributes = (uint)type.Attributes, }; @@ -2013,12 +2007,11 @@ namespace FlaxEngine internal static unsafe void GetManagedClassFromType(ManagedHandle typeHandle, NativeClassDefinitions* managedClass, ManagedHandle* assemblyHandle) { Type type = Unsafe.As(typeHandle.Target); - ManagedHandle classTypeHandle = GetTypeGCHandle(type); - *managedClass = new NativeClassDefinitions() + *managedClass = new NativeClassDefinitions { - typeHandle = classTypeHandle, + typeHandle = GetTypeGCHandle(type), name = NativeAllocStringAnsi(type.Name), - fullname = NativeAllocStringAnsi(type.FullName), + fullname = NativeAllocStringAnsi(type.GetTypeName()), @namespace = NativeAllocStringAnsi(type.Namespace ?? ""), typeAttributes = (uint)type.Attributes, }; diff --git a/Source/Engine/Utilities/TypeUtils.cs b/Source/Engine/Utilities/TypeUtils.cs new file mode 100644 index 000000000..93a1c3a47 --- /dev/null +++ b/Source/Engine/Utilities/TypeUtils.cs @@ -0,0 +1,46 @@ +// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. + +using System; +using System.Text; + +namespace FlaxEngine.Utilities +{ + /// + /// Editor utilities and helper functions for System.Type. + /// + public static partial class TypeUtils + { + /// + /// Gets the typename full name. + /// + /// The type. + /// The full typename of the type. + public static string GetTypeName(this Type type) + { + if (type.IsGenericType && type.IsConstructedGenericType) + { + // For generic types (eg. Dictionary) FullName returns generic parameter types with fully qualified name so simplify it manually + var sb = new StringBuilder(); + sb.Append(type.Namespace); + sb.Append('.'); + sb.Append(type.Name); + sb.Append('['); + var genericArgs = type.GetGenericArguments(); + for (var i = 0; i < genericArgs.Length; i++) + { + if (i != 0) + sb.Append(','); + sb.Append(genericArgs[i].GetTypeName()); + } + sb.Append(']'); + var sss = sb.ToString(); + if (sss != type.FullName) + { + Debug.LogError($"Different type name: {type.FullName} vs {sss}"); + } + return sb.ToString(); + } + return type.FullName; + } + } +}