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.

DrawSceneOperations.cs 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System.Collections.Generic;
  2. using UnityEditor.VersionControl;
  3. using Unity.PlasticSCM.Editor.AssetUtils;
  4. using Unity.PlasticSCM.Editor.AssetsOverlays.Cache;
  5. using Unity.PlasticSCM.Editor.AssetMenu;
  6. using Unity.PlasticSCM.Editor.AssetUtils.Processor;
  7. namespace Unity.PlasticSCM.Editor.SceneView
  8. {
  9. static class DrawSceneOperations
  10. {
  11. internal static void Enable(
  12. string wkPath,
  13. WorkspaceOperationsMonitor workspaceOperationsMonitor,
  14. IAssetStatusCache assetStatusCache)
  15. {
  16. if (mIsEnabled)
  17. return;
  18. mWkPath = wkPath;
  19. mWorkspaceOperationsMonitor = workspaceOperationsMonitor;
  20. mAssetStatusCache = assetStatusCache;
  21. mIsEnabled = true;
  22. Provider.preCheckoutCallback += Provider_preCheckoutCallback;
  23. }
  24. internal static void Disable()
  25. {
  26. mIsEnabled = false;
  27. Provider.preCheckoutCallback -= Provider_preCheckoutCallback;
  28. mWkPath = null;
  29. mWorkspaceOperationsMonitor = null;
  30. mAssetStatusCache = null;
  31. }
  32. static bool Provider_preCheckoutCallback(
  33. AssetList list,
  34. ref string changesetID,
  35. ref string changesetDescription)
  36. {
  37. if (!mIsEnabled)
  38. return true;
  39. if (!FindWorkspace.HasWorkspace(ApplicationDataPath.Get()))
  40. {
  41. Disable();
  42. return true;
  43. }
  44. List<string> selectedPaths = GetSelectedPaths.ForOperation(
  45. mWkPath, list, mAssetStatusCache,
  46. AssetMenuOperations.Checkout);
  47. if (selectedPaths.Count == 0)
  48. return true;
  49. mWorkspaceOperationsMonitor.AddPathsToCheckout(selectedPaths);
  50. return true;
  51. }
  52. static bool mIsEnabled;
  53. static IAssetStatusCache mAssetStatusCache;
  54. static WorkspaceOperationsMonitor mWorkspaceOperationsMonitor;
  55. static string mWkPath;
  56. }
  57. }