123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- using System.Linq;
- using UnityEditor;
- using UnityEngine;
- using UnityEngine.UIElements;
- using UnityEditor.UIElements;
- using Codice.CM.Common;
- using PlasticGui;
- using Unity.PlasticSCM.Editor;
- using Unity.PlasticSCM.Editor.UI.UIElements;
- using Unity.PlasticSCM.Editor.Inspector;
- using Unity.PlasticSCM.Editor.SceneView;
- internal class TurnOffPlasticWindow : EditorWindow
- {
- internal static void ShowWindow()
- {
- TurnOffPlasticWindow window = GetWindow<TurnOffPlasticWindow>();
- window.titleContent = new GUIContent(PlasticLocalization.GetString(
- PlasticLocalization.Name.TurnOffPlasticSCM));
- window.minSize = new Vector2(500, 350);
- window.maxSize = new Vector2(500, 350);
- window.Show();
- }
- void OnEnable()
- {
- mProgress = 0;
- EditorApplication.update += UpdateProgress;
- InitializeLayoutAndStyles();
- BuildComponents();
- }
- void OnDestroy()
- {
- Dispose();
- }
- void Dispose()
- {
- mTurnOffButton.clicked -= CreateButton_Clicked;
- EditorApplication.update -= UpdateProgress;
- }
- void InitializeLayoutAndStyles()
- {
- mRoot = rootVisualElement;
- mRoot.LoadLayout(typeof(TurnOffPlasticWindow).Name);
- mRoot.LoadStyle(typeof(TurnOffPlasticWindow).Name);
- }
- void BuildComponents()
- {
- mRoot = rootVisualElement;
- mTurnOffButton = mRoot.Query<Button>("turnoff-button").First();
- mTurnOffButton.text = PlasticLocalization.GetString(
- PlasticLocalization.Name.TurnOffPlasticSCM);
- mTurnOffButton.clicked += CreateButton_Clicked;
- mTurnOffLabel = mRoot.Query<Label>("turnoff-label").First();
- mTurnOffLabel.text = PlasticLocalization.GetString(
- PlasticLocalization.Name.TurnOffPlasticSCMDescrition);
- mTurnedOffLabel = mRoot.Query<Label>("progress-label").First();
- mTurnedOffLabel.text = string.Empty;
- mRoot.Add(mProgressBar = new ProgressBar());
- mProgressBar.style.marginLeft = 120f;
- mProgressBar.style.marginBottom = 2f;
- mProgressBar.title = string.Empty;
- mProgressBar.style.width = 300f;
- mProgressBar.style.display = DisplayStyle.None;
- }
- void UpdateProgress()
- {
- if (mProgress == 0) return;
- mProgressBar.style.display = DisplayStyle.Flex;
- if (mProgress == 1)
- {
- mProgressBar.value = 20f;
- mProgressBar.title = mProgressBar.value.ToString() + "%";
- mTurnedOffLabel.text = PlasticLocalization.GetString(
- PlasticLocalization.Name.TurnOffPlasticSCMClosingWindow);
- mPlasticWindow = Resources.FindObjectsOfTypeAll<PlasticWindow>().First();
- mPlasticWindow.Close();
- mProgress = 2;
- return;
- }
- if (mProgress == 2)
- {
- mProgressBar.value = 50f;
- mProgressBar.title = mProgressBar.value.ToString() +"%";
- mTurnedOffLabel.text = PlasticLocalization.GetString(
- PlasticLocalization.Name.TurnOffPlasticSCMCleaning);
- SetupCloudProjectId.SetCloudProjectId("");
- mProgress = 3;
- return;
- }
- if (mProgress == 3)
- {
- mProgressBar.value = 75f;
- mProgressBar.title = mProgressBar.value.ToString() +"%";
- mTurnedOffLabel.text = PlasticLocalization.GetString(
- PlasticLocalization.Name.TurnOffPlasticSCMDeleting);
- WorkspaceInfo workspaceInfo =
- FindWorkspace.InfoForApplicationPath(
- Application.dataPath,
- PlasticApp.PlasticAPI);
- Plastic.API.RemoveWorkspace(workspaceInfo);
- DrawInspectorOperations.Disable();
- DrawSceneOperations.Disable();
- mProgress = 4;
- return;
- }
- if (mProgress == 4)
- {
- mProgressBar.value = 100f;
- mProgressBar.title = mProgressBar.value.ToString() +"%";
- mTurnedOffLabel.text = PlasticLocalization.GetString(
- PlasticLocalization.Name.Done);
- mProgress = 9999;
- return;
- }
- }
- void CreateButton_Clicked()
- {
- if (mProgress != 0) return;
- if (EditorUtility.DisplayDialog(PlasticLocalization.GetString(
- PlasticLocalization.Name.TurningOffPlasticSCM),
- PlasticLocalization.GetString(PlasticLocalization.Name.TurnOffPlasticSCMAreYouSure),
- PlasticLocalization.GetString(PlasticLocalization.Name.YesButton),
- PlasticLocalization.GetString(PlasticLocalization.Name.NoButton)))
- {
- mProgress = 1;
- }
- }
- VisualElement mRoot;
- Button mTurnOffButton;
- Label mTurnOffLabel;
- Label mTurnedOffLabel;
- ProgressBar mProgressBar;
- int mProgress;
- PlasticWindow mPlasticWindow;
- }
|