RiderScriptEditorData.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using Packages.Rider.Editor.Util;
  3. using UnityEditor;
  4. using UnityEngine;
  5. namespace Packages.Rider.Editor
  6. {
  7. internal class RiderScriptEditorData : ScriptableSingleton<RiderScriptEditorData>
  8. {
  9. [SerializeField] internal bool hasChanges = true; // sln/csproj files were changed
  10. [SerializeField] internal bool shouldLoadEditorPlugin;
  11. [SerializeField] internal bool initializedOnce;
  12. [SerializeField] internal SerializableVersion editorBuildNumber;
  13. [SerializeField] internal RiderPathLocator.ProductInfo productInfo;
  14. public void Init()
  15. {
  16. if (editorBuildNumber == null)
  17. {
  18. Invalidate(RiderScriptEditor.CurrentEditor);
  19. }
  20. }
  21. public void Invalidate(string editorInstallationPath)
  22. {
  23. var riderBuildNumber = RiderPathLocator.GetBuildNumber(editorInstallationPath);
  24. editorBuildNumber = riderBuildNumber.ToSerializableVersion();
  25. productInfo = RiderPathLocator.GetBuildVersion(editorInstallationPath);
  26. if (riderBuildNumber == null)
  27. shouldLoadEditorPlugin = false;
  28. shouldLoadEditorPlugin = riderBuildNumber >= new Version("191.7141.156");
  29. }
  30. }
  31. }