public void UndoStackPush(model.BoardCoordinate boardCoordinate, int previusNumber, int currentNumber, bool isPreviusMemo, bool isCurrentMemo, int[] previusMemo, int[] currentMemo) { model.Do previus = new model.Do(previusNumber, isPreviusMemo, previusMemo); model.Do current = new model.Do(currentNumber, isCurrentMemo, currentMemo); model.DoAction undo = new model.DoAction(boardCoordinate, previus, current); _doCtrl.UndoPush(undo); }
public DoAction SwapDoAction() { int[] previusMemoArr = new int[this.previus.memoArray.Length]; int[] currentMemoArr = new int[this.current.memoArray.Length]; System.Array.Copy(this.previus.memoArray, previusMemoArr, this.previus.memoArray.Length); System.Array.Copy(this.current.memoArray, currentMemoArr, this.current.memoArray.Length); model.Do previus = new model.Do(this.previus.number, this.previus.isMemoMode, previusMemoArr); model.Do current = new model.Do(this.current.number, this.current.isMemoMode, currentMemoArr); model.DoAction doAction = new model.DoAction(this.boardCoordinate, current, previus); return(doAction); }