private void Undo() { if (currentMemento > 0) { currentMemento--; originator.RestoreFromMemento(careTaker.getMemento(currentMemento)); // this.gameState = originator.GetGameState(); // Destroy(this.gameState); // this.gameState = Instantiate(originator.GetGameState()); Debug.Log("Undo! Current Memento: " + currentMemento); } }
private void btnUndo_Click(object sender, RoutedEventArgs e) //Undo's a chance in the editor, gets called by clicking the undo button in the MainWinwdow { CareTaker c = careTaker; if (currentMemento >= 1) { currentMemento--; lilypondText.Text = originator.RestoreFromMemento(careTaker.Get(currentMemento)); keyHandler.RestartThread(); } reEvaluateButtons(); }
public static void Main(String[] args) { Caretaker caretaker = new Caretaker(); Originator originator = new Originator(); originator.Set("State1"); originator.Set("State2"); caretaker.AddMemento(originator.SaveToMemento()); originator.Set("State3"); caretaker.AddMemento(originator.SaveToMemento()); originator.Set("State4"); originator.RestoreFromMemento(caretaker.GetMemento(1)); Console.ReadLine(); }
static void Main(string[] args) { List<Originator.Memento> savedStates = new List<Originator.Memento>(); Originator originator = new Originator(); originator.Set("State1"); originator.Set("State2"); savedStates.Add(originator.SaveToMemento()); originator.Set("State3"); // We can request multiple mementos, and choose which one to roll back to. savedStates.Add(originator.SaveToMemento()); originator.Set("State4"); originator.RestoreFromMemento(savedStates[1])); }
public void TestMemento() { var savedStates = new List <Originator.Memento>(); var originator = new Originator(); originator.Set("State1"); originator.Set("State2"); savedStates.Add(originator.SaveToMemento()); originator.Set("State3"); // We can request multiple mementos, and choose which one to roll back to. savedStates.Add(originator.SaveToMemento()); originator.Set("State4"); originator.RestoreFromMemento(savedStates[1]); }
public void TestMemento() { var careTaker = new CareTaker <string>(); var originator = new Originator <string>(); originator.State = "State 1"; careTaker.AddMemento(originator.SaveToMemento()); originator.State = "State 2"; careTaker.AddMemento(originator.SaveToMemento()); originator.State = "State 3"; originator.RestoreFromMemento(careTaker.GetMemento(1)); Assert.That(originator.State, Is.EqualTo("State 2")); }