Exemple #1
0
 public void Add(CreatureModifier creatureModifier)
 {
     if (HasNext)
     {
         Next.Add(creatureModifier);
     }
     else
     {
         Next = creatureModifier;
     }
 }
Exemple #2
0
 public void Add(CreatureModifier cm)
 {
     if (next != null)
     {
         next.Add(cm);
     }
     else
     {
         next = cm;
     }
 }
Exemple #3
0
        public static void Run()
        {
            var goblin = new Creature("Goblin", 1, 1);

            WriteLine(goblin);

            var root = new CreatureModifier(goblin);

            root.Add(new DoubleAttackModifier(goblin));
            root.Add(new DoubleAttackModifier(goblin));
            root.Add(new IncreaseDefenseModifier(goblin));

            root.Handle();
            WriteLine(goblin);
        }
Exemple #4
0
        static void Main(string[] args)
        {
            var goblin = new Creature("Goblin", 2, 2);

            Console.WriteLine(goblin);

            var root = new CreatureModifier(goblin);

            Console.WriteLine("Let's double goblin's attack...");
            root.Add(new DoubleAttackModifier(goblin));

            root.Add(new NoBonusesModifier(goblin));

            Console.WriteLine("Let's increase goblin's defense");
            root.Add(new IncreaseDefenseModifier(goblin));

            // eventually...
            root.Handle();
            Console.WriteLine(goblin);
        }