arenos-nexus/Arenos Nexus/Library/PackageCache/com.unity.collab-proxy@ab839cc7d2ad/Editor/AssetOverlays/AssetOverlay.cs
Daniel 2e704cae70 init
Init Commit Unity
2025-09-25 22:01:28 +02:00

86 lines
2.9 KiB
C#

using System;
using PlasticGui;
namespace Unity.PlasticSCM.Editor.AssetsOverlays
{
internal static class AssetOverlay
{
internal static string GetStatusString(AssetStatus assetStatus)
{
if (ClassifyAssetStatus.IsPrivate(assetStatus))
return PlasticLocalization.Name.Private.GetString();
if (ClassifyAssetStatus.IsIgnored(assetStatus))
return PlasticLocalization.Name.StatusIgnored.GetString();
if (ClassifyAssetStatus.IsAdded(assetStatus))
return PlasticLocalization.Name.StatusAdded.GetString();
if (ClassifyAssetStatus.IsConflicted(assetStatus))
return PlasticLocalization.Name.StatusConflicted.GetString();
if (ClassifyAssetStatus.IsDeletedOnServer(assetStatus))
return PlasticLocalization.Name.StatusDeletedOnServer.GetString();
if (ClassifyAssetStatus.IsLockedRemote(assetStatus))
return PlasticLocalization.Name.StatusLockedRemote.GetString();
if (ClassifyAssetStatus.IsOutOfDate(assetStatus))
return PlasticLocalization.Name.StatusOutOfDate.GetString();
if (ClassifyAssetStatus.IsLocked(assetStatus))
return PlasticLocalization.Name.StatusLockedByMe.GetString();
if (ClassifyAssetStatus.IsRetained(assetStatus))
return PlasticLocalization.Name.StatusRetained.GetString();
if (ClassifyAssetStatus.IsCheckedOut(assetStatus))
return PlasticLocalization.Name.StatusCheckout.GetString();
return string.Empty;
}
internal static string GetTooltipText(
AssetStatus statusValue,
LockStatusData lockStatusData)
{
string statusText = GetStatusString(statusValue);
if (lockStatusData == null)
return statusText;
// example:
// Changed by:
// * dani_pen@hotmail.com
// * workspace wkLocal"
char bulletCharacter = '\u25cf';
string line1 = ClassifyAssetStatus.IsLocked(statusValue) ?
statusText + ":" :
PlasticLocalization.GetString(
PlasticLocalization.Name.AssetOverlayTooltipStatus,
statusText);
string line2 = string.Format("{0} {1}",
bulletCharacter,
lockStatusData.LockedBy);
string line3 = string.Format("{0} {1}",
bulletCharacter,
PlasticLocalization.GetString(
PlasticLocalization.Name.AssetOverlayTooltipOn,
lockStatusData.HolderBranchName));
return string.Format(
"{0}" + Environment.NewLine +
"{1}" + Environment.NewLine +
"{2}",
line1,
line2,
line3);
}
}
}