static void Main(string[] args) { var goblin = new Creature("Goblin", 2, 2); Console.WriteLine(goblin); var root = new CreatureModifier(goblin); root.Add(new NoBonusesModifier(goblin)); Console.WriteLine("Let's double the goblin's attack"); root.Add(new DoubleAttackModifier(goblin)); Console.WriteLine("Let's increase the goblin's defense"); root.Add(new IncreasedDefenseModifier(goblin)); root.Handle(); Console.WriteLine(goblin); Console.ReadKey(); }
public virtual void Handle() => next?.Handle();