Esempio n. 1
0
        static void Main(string[] args)
        {
            var goblin = new Creature("Goblin", 1, 2);

            Console.WriteLine(goblin);

            var root = new CreatureModifier(goblin);

            root.Add(new DoubleAttackModifier(goblin));

            //kako prekinuti lanac?
            //dodajemo modifier koji zaustavlja handle() i posle njega se handle ne poziva()
            root.Add(new NoBuffModiefier(goblin));
            root.Add(new IncreaseDefenseModifier(goblin)); //nece se odraditi

            root.handle();                                 //odradi handle svih dodatih modifiera
            Console.WriteLine(goblin);


            Console.ReadLine();;
        }
Esempio n. 2
0
 public virtual void handle() => next?.handle(); // ako postoji next uradi mu handle // tako aktiviramo sve cm