123456789101112131415161718192021222324252627282930313233343536373839 |
- using System;
- using UnityEngine;
- namespace UnityEditor.U2D.Animation
- {
- internal class DisableUndoScope : IDisposable
- {
- private bool m_Disposed;
- private ICacheUndo m_CacheUndo;
- private IUndo m_UndoOverride;
- public DisableUndoScope(ICacheUndo cacheUndo)
- {
- Debug.Assert(cacheUndo != null);
- m_CacheUndo = cacheUndo;
- m_UndoOverride = m_CacheUndo.undoOverride;
- m_CacheUndo.undoOverride = new DisabledUndo();
- }
- ~DisableUndoScope()
- {
- if (!m_Disposed)
- Debug.LogError("Scope was not disposed! You should use the 'using' keyword or manually call Dispose.");
- }
- public void Dispose()
- {
- if (m_Disposed)
- return;
- m_Disposed = true;
-
- if (m_CacheUndo != null)
- m_CacheUndo.undoOverride = m_UndoOverride;
- }
- }
- }
|