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.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. Retained = 1 << 12,
  20. HiddenChanged = 1 << 13,
  21. }
  22. internal class LockStatusData
  23. {
  24. internal readonly AssetStatus Status;
  25. internal readonly string LockedBy;
  26. internal readonly string HolderBranchName;
  27. internal LockStatusData(
  28. AssetStatus status,
  29. string lockedBy,
  30. string holderBranchName)
  31. {
  32. Status = status;
  33. LockedBy = lockedBy;
  34. HolderBranchName = holderBranchName;
  35. }
  36. }
  37. internal class ClassifyAssetStatus
  38. {
  39. internal static bool IsPrivate(AssetStatus status)
  40. {
  41. return ContainsAny(status, AssetStatus.Private);
  42. }
  43. internal static bool IsIgnored(AssetStatus status)
  44. {
  45. return ContainsAny(status, AssetStatus.Ignored);
  46. }
  47. internal static bool IsControlled(AssetStatus status)
  48. {
  49. return ContainsAny(status, AssetStatus.Controlled);
  50. }
  51. internal static bool IsLocked(AssetStatus status)
  52. {
  53. return ContainsAny(status, AssetStatus.Locked);
  54. }
  55. internal static bool IsLockedRemote(AssetStatus status)
  56. {
  57. return ContainsAny(status, AssetStatus.LockedRemote);
  58. }
  59. internal static bool IsRetained(AssetStatus status)
  60. {
  61. return ContainsAny(status, AssetStatus.Retained);
  62. }
  63. internal static bool IsOutOfDate(AssetStatus status)
  64. {
  65. return ContainsAny(status, AssetStatus.OutOfDate);
  66. }
  67. internal static bool IsDeletedOnServer(AssetStatus status)
  68. {
  69. return ContainsAny(status, AssetStatus.DeletedOnServer);
  70. }
  71. internal static bool IsConflicted(AssetStatus status)
  72. {
  73. return ContainsAny(status, AssetStatus.Conflicted);
  74. }
  75. internal static bool IsAdded(AssetStatus status)
  76. {
  77. return ContainsAny(status, AssetStatus.Added);
  78. }
  79. internal static bool IsCheckedOut(AssetStatus status)
  80. {
  81. return ContainsAny(status, AssetStatus.Checkout);
  82. }
  83. internal static bool IsHiddenChanged(AssetStatus status)
  84. {
  85. return ContainsAny(status, AssetStatus.HiddenChanged);
  86. }
  87. static bool ContainsAny(AssetStatus status, AssetStatus matchTo)
  88. {
  89. return (status & matchTo) != AssetStatus.None;
  90. }
  91. }
  92. }