using System; using System.Collections.Generic; using System.Linq; namespace Babushka.scripts.CSharp.Common.Fight; public static class FightUtils { public static IEnumerable WhereIsAlive(this IEnumerable self) { return self.Where(e => e.IsAlive()); } public static IEnumerable WhereIsNotInFormation(this IEnumerable self, FighterFormation formation) { return self.Where(e => !e.IsInFormation(formation)); } public static bool IsAlive(this FightWorld.Fighter self) { return self.Health > 0; } public static bool IsDead(this FightWorld.Fighter self) { return !self.IsAlive(); } /// /// Changes the health of a fighter /// /// The fighter itself /// The amount of health to add. Make negative to remove health public static void ChangeHealth(this FightWorld.Fighter self, int amount) { self.Health += amount; } public static bool IsInFormation(this FightWorld.Fighter self, FighterFormation formation) { return formation.ContainsFighter(self); } public static bool AreAllDead(this FightWorld.FighterGroup self) { return self.fighters.All(e => e.IsDead()); } }