public override void UpgradeWeapon(CreatureBaseObject creatureBaseObject) { if (creatureBaseObject.EquipedAttackBaseObject != null) { creatureBaseObject.EquipedAttackBaseObject = FireUpgrade(creatureBaseObject.EquipedAttackBaseObject); } Console.WriteLine($"{this.Name} upgrades the weapon of {creatureBaseObject.Name} with fiery"); }
// The "Template method" public void AfterBattle(CreatureBaseObject creatureBaseObject) { DeadText(creatureBaseObject); UpgradeWeapon(creatureBaseObject); }
public abstract void UpgradeWeapon(CreatureBaseObject creatureBaseObject);
public abstract void DeadText(CreatureBaseObject creatureBaseObject);
public override void DeadText(CreatureBaseObject creatureBaseObject) { Console.WriteLine($"{this.Name} died to {creatureBaseObject.Name}"); }
public override void UpgradeWeapon(CreatureBaseObject creatureBaseObject) { Console.WriteLine($"{this.Name} have no upgrade for the weapon of {creatureBaseObject.Name}"); }