コード例 #1
0
ファイル: UndoStack.cs プロジェクト: relimited/Craft
 public StackBlock(Restorable <T> variable)
     : this()
 {
     SavedValue    = variable.RealValue;
     OldFrame      = variable.LastSaveFrame;
     this.Variable = variable;
 }
コード例 #2
0
ファイル: UndoStack.cs プロジェクト: relimited/Craft
        internal void MaybeSave(Restorable <T> restorable)
        {
            if (restorable.LastSaveFrame != framepointer)
            {
//#if DEBUG
//                Trace.WriteLine(string.Format("Save {0} <- {1}", undoStackPointer, restorable.RealValue));
//#endif
                EnsureSpace();
                undoDataStack[undoStackPointer] = new StackBlock(restorable);
                undoStackPointer        += 1;
                restorable.LastSaveFrame = framepointer;
            }
        }