Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

AssetStatus.cs 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using System;
  2. namespace Unity.PlasticSCM.Editor.AssetsOverlays
  3. {
  4. [Flags]
  5. internal enum AssetStatus
  6. {
  7. None = 0,
  8. Private = 1 << 0,
  9. Ignored = 1 << 2,
  10. Added = 1 << 3,
  11. Checkout = 1 << 4,
  12. Controlled = 1 << 5,
  13. UpToDate = 1 << 6,
  14. OutOfDate = 1 << 7,
  15. Conflicted = 1 << 8,
  16. DeletedOnServer = 1 << 9,
  17. Locked = 1 << 10,
  18. LockedRemote = 1 << 11,
  19. HiddenChanged = 1 << 12,
  20. }
  21. internal class LockStatusData
  22. {
  23. internal readonly AssetStatus Status;
  24. internal readonly string LockedBy;
  25. internal readonly string WorkspaceName;
  26. internal LockStatusData(
  27. AssetStatus status,
  28. string lockedBy,
  29. string workspaceName)
  30. {
  31. Status = status;
  32. LockedBy = lockedBy;
  33. WorkspaceName = workspaceName;
  34. }
  35. }
  36. internal class ClassifyAssetStatus
  37. {
  38. internal static bool IsPrivate(AssetStatus status)
  39. {
  40. return ContainsAny(status, AssetStatus.Private);
  41. }
  42. internal static bool IsIgnored(AssetStatus status)
  43. {
  44. return ContainsAny(status, AssetStatus.Ignored);
  45. }
  46. internal static bool IsControlled(AssetStatus status)
  47. {
  48. return ContainsAny(status, AssetStatus.Controlled);
  49. }
  50. internal static bool IsLocked(AssetStatus status)
  51. {
  52. return ContainsAny(status, AssetStatus.Locked);
  53. }
  54. internal static bool IsLockedRemote(AssetStatus status)
  55. {
  56. return ContainsAny(status, AssetStatus.LockedRemote);
  57. }
  58. internal static bool IsOutOfDate(AssetStatus status)
  59. {
  60. return ContainsAny(status, AssetStatus.OutOfDate);
  61. }
  62. internal static bool IsDeletedOnServer(AssetStatus status)
  63. {
  64. return ContainsAny(status, AssetStatus.DeletedOnServer);
  65. }
  66. internal static bool IsConflicted(AssetStatus status)
  67. {
  68. return ContainsAny(status, AssetStatus.Conflicted);
  69. }
  70. internal static bool IsAdded(AssetStatus status)
  71. {
  72. return ContainsAny(status, AssetStatus.Added);
  73. }
  74. internal static bool IsCheckedOut(AssetStatus status)
  75. {
  76. return ContainsAny(status, AssetStatus.Checkout);
  77. }
  78. internal static bool IsHiddenChanged(AssetStatus status)
  79. {
  80. return ContainsAny(status, AssetStatus.HiddenChanged);
  81. }
  82. static bool ContainsAny(AssetStatus status, AssetStatus matchTo)
  83. {
  84. return (status & matchTo) != AssetStatus.None;
  85. }
  86. }
  87. }