123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using System;
- using UnityEditor;
- using UnityEditorInternal;
- namespace Unity.PlasticSCM.Editor.UI
- {
- internal static class EditorWindowFocus
- {
- internal static event Action OnApplicationActivated;
- internal static event Action OnApplicationDeactivated;
- static EditorWindowFocus()
- {
- EditorApplication.update += Update;
- }
- static void Update()
- {
- bool isApplicationActive = InternalEditorUtility.isApplicationActive;
- if (!mLastIsApplicationFocused && isApplicationActive)
- {
- mLastIsApplicationFocused = isApplicationActive;
- if (OnApplicationActivated != null)
- OnApplicationActivated();
- return;
- }
- if (mLastIsApplicationFocused && !isApplicationActive)
- {
- mLastIsApplicationFocused = isApplicationActive;
- if (OnApplicationDeactivated != null)
- OnApplicationDeactivated();
- return;
- }
- }
- static bool mLastIsApplicationFocused;
- }
- }
|