Fix .NET generic class typename to match old mono style without inlined assembly name and ver
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
using System;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Content
|
||||
{
|
||||
@@ -42,7 +43,7 @@ namespace FlaxEditor.Content
|
||||
/// <inheritdoc />
|
||||
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);
|
||||
|
||||
@@ -8,6 +8,7 @@ using FlaxEditor.Windows;
|
||||
using FlaxEditor.Windows.Assets;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Json;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Content
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.Linq;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ using System.Runtime.InteropServices.Marshalling;
|
||||
using FlaxEditor.CustomEditors.Editors;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors
|
||||
{
|
||||
|
||||
@@ -12,6 +12,7 @@ using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Json;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Dedicated
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -4,6 +4,7 @@ using System;
|
||||
using System.Collections;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@ using FlaxEditor.Content;
|
||||
using FlaxEditor.GUI;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ using FlaxEditor.GUI.ContextMenu;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -12,6 +12,7 @@ using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Json;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using FlaxEditor.CustomEditors.Elements;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -12,6 +12,7 @@ using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Json;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
using System;
|
||||
using FlaxEditor.GUI;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -9,6 +9,7 @@ using FlaxEditor.GUI.Drag;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors.Editors
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@ using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.CustomEditors
|
||||
{
|
||||
|
||||
@@ -7,6 +7,7 @@ using FlaxEditor.GUI.Drag;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.GUI
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@ using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Json;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.GUI
|
||||
{
|
||||
|
||||
@@ -6,6 +6,7 @@ using FlaxEditor.SceneGraph;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.GUI.Drag
|
||||
{
|
||||
|
||||
@@ -4,6 +4,7 @@ using System;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.GUI
|
||||
{
|
||||
|
||||
@@ -11,6 +11,7 @@ using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Json;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.GUI
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -8,6 +8,7 @@ using FlaxEditor.Content;
|
||||
using FlaxEditor.Content.Settings;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Modules
|
||||
{
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Modules.SourceCodeEditing
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@ using FlaxEditor.Options;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Modules.SourceCodeEditing
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -4,6 +4,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using FlaxEditor.Content;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Scripting
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@ using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using FlaxEditor.Content;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Scripting
|
||||
{
|
||||
|
||||
@@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Editor scripting utilities and helper functions.
|
||||
/// </summary>
|
||||
public static class TypeUtils
|
||||
partial class TypeUtils
|
||||
{
|
||||
/// <summary>
|
||||
/// 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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the typename full name.
|
||||
/// </summary>
|
||||
/// <param name="type">The type.</param>
|
||||
/// <returns>The full typename of the type.</returns>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the typename name for UI.
|
||||
/// </summary>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ using FlaxEditor.Scripting;
|
||||
using FlaxEditor.Surface.Elements;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Surface.Archetypes
|
||||
{
|
||||
|
||||
@@ -12,6 +12,7 @@ using FlaxEditor.GUI;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEditor.Surface.Elements;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Surface.Archetypes
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@ using FlaxEditor.Scripting;
|
||||
using FlaxEditor.Surface.Elements;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Surface.Archetypes
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@ using FlaxEditor.GUI.Input;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Surface.ContextMenu
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
|
||||
/// <param name="parentNode">The parent node.</param>
|
||||
/// <param name="archetype">The archetype.</param>
|
||||
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;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
using System;
|
||||
using FlaxEditor.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Surface.Elements
|
||||
{
|
||||
@@ -26,7 +27,7 @@ namespace FlaxEditor.Surface.Elements
|
||||
|
||||
/// <inheritdoc />
|
||||
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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
using System;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Surface
|
||||
{
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
using System;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Surface
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
using System;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
using Object = FlaxEngine.Object;
|
||||
|
||||
namespace FlaxEditor.Actions
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Collections.Generic;
|
||||
using FlaxEditor.SceneGraph;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Actions
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Reflection;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.Json;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Utilities
|
||||
{
|
||||
|
||||
@@ -20,6 +20,7 @@ using FlaxEditor.SceneGraph;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEngine
|
||||
{
|
||||
|
||||
@@ -11,6 +11,7 @@ using FlaxEditor.GUI.ContextMenu;
|
||||
using FlaxEditor.Scripting;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Windows.Assets
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -17,6 +17,7 @@ using FlaxEditor.Surface;
|
||||
using FlaxEditor.Windows;
|
||||
using FlaxEditor.Windows.Assets;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEngine.Windows.Search
|
||||
{
|
||||
|
||||
@@ -12,6 +12,7 @@ using FlaxEditor.Surface;
|
||||
using FlaxEditor.Windows.Assets;
|
||||
using FlaxEngine;
|
||||
using FlaxEngine.GUI;
|
||||
using FlaxEngine.Utilities;
|
||||
|
||||
namespace FlaxEditor.Windows
|
||||
{
|
||||
|
||||
@@ -1988,17 +1988,11 @@ namespace FlaxEngine
|
||||
{
|
||||
var type = assemblyTypes[i];
|
||||
IntPtr ptr = IntPtr.Add(new IntPtr(arr), Unsafe.SizeOf<NativeClassDefinitions>() * 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<Type>(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,
|
||||
};
|
||||
|
||||
46
Source/Engine/Utilities/TypeUtils.cs
Normal file
46
Source/Engine/Utilities/TypeUtils.cs
Normal file
@@ -0,0 +1,46 @@
|
||||
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
|
||||
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
namespace FlaxEngine.Utilities
|
||||
{
|
||||
/// <summary>
|
||||
/// Editor utilities and helper functions for System.Type.
|
||||
/// </summary>
|
||||
public static partial class TypeUtils
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the typename full name.
|
||||
/// </summary>
|
||||
/// <param name="type">The type.</param>
|
||||
/// <returns>The full typename of the type.</returns>
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user