public override void Send(Unit sender, string msg) { if (sender == ArcherUnit) { RamUnit.Notify(msg); } else if (sender == RamUnit) { HeavyUnit.Notify(msg); } else if (sender == HeavyUnit) { ArcherUnit.Notify(msg); } }
public static void Test() { SiegeCommander commander = new SiegeCommander(); Unit archers = new ArcherUnit(commander); Unit ram = new RamUnit(commander); Unit heavy = new HeavyUnit(commander); commander.ArcherUnit = archers; commander.RamUnit = ram; commander.HeavyUnit = heavy; archers.Send("Вражеские лучники уничтоженны, можно таранить!"); ram.Send("Ворота уничтожены, можно заходить в крепость!"); heavy.Send("В крепости остались лучники, нужна помощь!"); }