Merge remote-tracking branch 'origin/master' into 1.6

This commit is contained in:
Wojtek Figat
2023-05-10 12:13:45 +02:00
12 changed files with 105 additions and 58 deletions

View File

@@ -1,8 +1,6 @@
// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved.
using System;
using System.IO;
using System.Text;
using FlaxEngine;
using FlaxEngine.GUI;
@@ -38,14 +36,6 @@ namespace FlaxEditor.Content
ID = id;
}
/// <inheritdoc />
public override void UpdateTooltipText()
{
var sb = new StringBuilder();
OnBuildTooltipText(sb);
TooltipText = sb.ToString();
}
private sealed class TooltipDoubleClickHook : Control
{
public AssetItem Item;
@@ -74,20 +64,25 @@ namespace FlaxEditor.Content
hook.Item = this;
}
/// <summary>
/// Called when building tooltip text.
/// </summary>
/// <param name="sb">The String Builder.</param>
protected virtual void OnBuildTooltipText(StringBuilder sb)
{
sb.Append("Type: ").Append(TypeName).AppendLine();
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((int)new FileInfo(Path).Length)).AppendLine();
sb.Append("Path: ").Append(Path).AppendLine();
}
/// <inheritdoc />
public override ContentItemType ItemType => ContentItemType.Asset;
/// <inheritdoc />
public override string TypeDescription
{
get
{
// Translate asset type name
var typeName = TypeName;
string[] typeNamespaces = typeName.Split('.');
if (typeNamespaces.Length != 0 && typeNamespaces.Length != 0)
{
typeName = Utilities.Utils.GetPropertyNameUI(typeNamespaces[typeNamespaces.Length - 1]);
}
return typeName;
}
}
/// <summary>
/// Loads the asset.
/// </summary>

View File

@@ -19,6 +19,9 @@ namespace FlaxEditor.Content
{
}
/// <inheritdoc />
public override string TypeDescription => "C# Source Code";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CSharpScript128;
}

View File

@@ -3,6 +3,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using FlaxEditor.GUI.Drag;
using FlaxEngine;
using FlaxEngine.GUI;
@@ -120,6 +121,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override bool Exists => Directory.Exists(Path);
/// <inheritdoc />
public override string TypeDescription => "Folder";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Folder128;
@@ -135,9 +139,10 @@ namespace FlaxEditor.Content
}
/// <inheritdoc />
public override void UpdateTooltipText()
protected override void OnBuildTooltipText(StringBuilder sb)
{
TooltipText = Path;
sb.Append("Type: ").Append(TypeDescription).AppendLine();
sb.Append("Path: ").Append(Utilities.Utils.GetAssetNamePathWithExt(Path)).AppendLine();
}
/// <inheritdoc />

View File

@@ -2,6 +2,8 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using FlaxEditor.Content.GUI;
using FlaxEditor.GUI.Drag;
using FlaxEngine;
@@ -273,6 +275,11 @@ namespace FlaxEditor.Content
/// </summary>
public string NamePath => FlaxEditor.Utilities.Utils.GetAssetNamePath(Path);
/// <summary>
/// Gets the content item type description (for UI).
/// </summary>
public abstract string TypeDescription { get; }
/// <summary>
/// Gets the default name of the content item thumbnail. Returns null if not used.
/// </summary>
@@ -353,11 +360,32 @@ namespace FlaxEditor.Content
}
/// <summary>
/// Updates the tooltip text text.
/// Updates the tooltip text.
/// </summary>
public virtual void UpdateTooltipText()
{
TooltipText = "Path: " + Path;
var sb = new StringBuilder();
OnBuildTooltipText(sb);
if (sb.Length != 0 && sb[sb.Length - 1] == '\n')
{
// Remove new-line from end
int sub = 1;
if (sb.Length != 1 && sb[sb.Length - 2] == '\r')
sub = 2;
sb.Length -= sub;
}
TooltipText = sb.ToString();
}
/// <summary>
/// Called when building tooltip text.
/// </summary>
/// <param name="sb">The output string builder.</param>
protected virtual void OnBuildTooltipText(StringBuilder sb)
{
sb.Append("Type: ").Append(TypeDescription).AppendLine();
sb.Append("Size: ").Append(Utilities.Utils.FormatBytesCount((int)new FileInfo(Path).Length)).AppendLine();
sb.Append("Path: ").Append(Utilities.Utils.GetAssetNamePathWithExt(Path)).AppendLine();
}
/// <summary>

View File

@@ -19,6 +19,9 @@ namespace FlaxEditor.Content
{
}
/// <inheritdoc />
public override string TypeDescription => Path.EndsWith(".h") ? "C++ Header File" : "C++ Source Code";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.CPPScript128;
}

View File

@@ -25,6 +25,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Other;
/// <inheritdoc />
public override string TypeDescription => "File";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
}

View File

@@ -39,6 +39,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Other;
/// <inheritdoc />
public override string TypeDescription => "New";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;

View File

@@ -27,6 +27,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Scene;
/// <inheritdoc />
public override string TypeDescription => "Scene";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Scene128;

View File

@@ -26,6 +26,9 @@ namespace FlaxEditor.Content
/// <inheritdoc />
public override ContentItemSearchFilter SearchFilter => ContentItemSearchFilter.Shader;
/// <inheritdoc />
public override string TypeDescription => "Shader Source Code";
/// <inheritdoc />
public override SpriteHandle DefaultThumbnail => Editor.Instance.Icons.Document128;
}