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();; }
public virtual void handle() => next?.handle(); // ako postoji next uradi mu handle // tako aktiviramo sve cm