You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.7 KiB
102 lines
2.7 KiB
using System; |
|
|
|
namespace Unity.PlasticSCM.Editor.AssetsOverlays |
|
{ |
|
[Flags] |
|
internal enum AssetStatus |
|
{ |
|
None = 0, |
|
Private = 1 << 0, |
|
Ignored = 1 << 2, |
|
Added = 1 << 3, |
|
Checkout = 1 << 4, |
|
Controlled = 1 << 5, |
|
UpToDate = 1 << 6, |
|
OutOfDate = 1 << 7, |
|
Conflicted = 1 << 8, |
|
DeletedOnServer = 1 << 9, |
|
Locked = 1 << 10, |
|
LockedRemote = 1 << 11, |
|
HiddenChanged = 1 << 12, |
|
} |
|
|
|
internal class LockStatusData |
|
{ |
|
internal readonly AssetStatus Status; |
|
internal readonly string LockedBy; |
|
internal readonly string WorkspaceName; |
|
|
|
internal LockStatusData( |
|
AssetStatus status, |
|
string lockedBy, |
|
string workspaceName) |
|
{ |
|
Status = status; |
|
LockedBy = lockedBy; |
|
WorkspaceName = workspaceName; |
|
} |
|
} |
|
|
|
internal class ClassifyAssetStatus |
|
{ |
|
internal static bool IsPrivate(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.Private); |
|
} |
|
|
|
internal static bool IsIgnored(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.Ignored); |
|
} |
|
|
|
internal static bool IsControlled(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.Controlled); |
|
} |
|
|
|
internal static bool IsLocked(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.Locked); |
|
} |
|
|
|
internal static bool IsLockedRemote(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.LockedRemote); |
|
} |
|
|
|
internal static bool IsOutOfDate(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.OutOfDate); |
|
} |
|
|
|
internal static bool IsDeletedOnServer(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.DeletedOnServer); |
|
} |
|
|
|
internal static bool IsConflicted(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.Conflicted); |
|
} |
|
|
|
internal static bool IsAdded(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.Added); |
|
} |
|
|
|
internal static bool IsCheckedOut(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.Checkout); |
|
} |
|
|
|
internal static bool IsHiddenChanged(AssetStatus status) |
|
{ |
|
return ContainsAny(status, AssetStatus.HiddenChanged); |
|
} |
|
|
|
static bool ContainsAny(AssetStatus status, AssetStatus matchTo) |
|
{ |
|
return (status & matchTo) != AssetStatus.None; |
|
} |
|
} |
|
}
|
|
|