public IGroup CreateGroup(string name, int health, int damage, WarEffects warEffect, AttackType attack) { IWarEffect groupWarEffect = this.WarEffectFactory.CreateWarEffect(warEffect); IAttack groupAttack = this.AttackFactory.CreateAttack(attack); IGroup group = new Group(name, health, damage, groupAttack, groupWarEffect); return group; }
public IWarEffect CreateWarEffect(WarEffects warEffect) { switch (warEffect) { case WarEffects.Jihad: return new Jihad(); case WarEffects.Kamikaze: return new Kamikaze(); default: throw new InvalidWarEffectException($"{warEffect} is not a supported war effect."); } }