static void Clash(IFighter hero, IFighter opponent) { var skillHero = hero.GetSkill(); skillHero.Setup(hero); var skillOpponent = opponent.GetSkill(); skillOpponent.Setup(opponent); Damage(hero, CountingDamageOf(hero), opponent); Damage(opponent, CountingDamageOf(opponent), hero); skillHero.Teardown(hero); skillOpponent.Teardown(opponent); }