Esempio n. 1
0
        public override void Begin(string transactionName)
        {
            if (UndoingOrRedoing)
            {
                base.Begin(transactionName);
                return;
            }

            if (!IsMasterContext && !MasterContext.InTransaction)
            {
                s_subContextBegan = true;
                MasterContext.Begin(transactionName);
                return;
            }

            base.Begin(transactionName);
            if (IsMasterContext)
            {
                foreach (GameContext subContext in m_gameDocumentRegistry.SubDocuments.AsIEnumerable <GameContext>())
                {
                    subContext.Begin(transactionName);
                }
            }
        }