Esempio n. 1
0
 public void AddMenentos(int number, Menento menento)
 {
     if (!numberAndMenentos.ContainsKey(number))
     {
         numberAndMenentos.Add(number, menento);
     }
 }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Caretaker  caretaker  = new Caretaker();
            Originator originator = new Originator();

            originator.PowerState   = "武力值100";
            originator.DefenseState = "防御力200";
            Menento menento1 = originator.CreateMenento();

            caretaker.AddMenentos(1, menento1);

            originator.PowerState   = "武力值90";
            originator.DefenseState = "防御力150";
            Menento menento2 = originator.CreateMenento();

            caretaker.AddMenentos(2, menento2);

            Console.WriteLine("The current state is: {0},{1}", originator.PowerState, originator.DefenseState);

            originator.SetMenento(caretaker.GetMenento(1));
            Console.WriteLine("The current state revert back to: {0},{1}", originator.PowerState, originator.DefenseState);

            originator.SetMenento(caretaker.GetMenento(2));
            Console.WriteLine("The current state revert back to: {0},{1}", originator.PowerState, originator.DefenseState);

            Console.ReadKey();
        }