public static BattleGroupEntity BuildBattleGroupEntity(int bg_id) { using (var db = new MinionWarsEntities()) { BattleGroupEntity bge = new BattleGroupEntity(); bge.bg = db.Battlegroup.Find(bg_id); if (bge.bg != null) { bge.frontline = new List <AssignmentGroupEntity>(); bge.backline = new List <AssignmentGroupEntity>(); bge.supportline = new List <AssignmentGroupEntity>(); List <BattlegroupAssignment> assignments = db.BattlegroupAssignment.Where(x => x.battlegroup_id == bg_id).ToList(); if (assignments != null) { foreach (BattlegroupAssignment a in assignments) { AssignmentGroupEntity age = new AssignmentGroupEntity(); age.initialCount = a.group_count; age.remainingCount = a.group_count; age.turnStartCount = a.group_count; age.minionData = db.Minion.Find(a.minion_id); age.CalculateGroupStats(bge.bg, a.line); age.remainingHealth = age.stats.health; age.attack = AbilityGenerator.GenerateAttack(a.line, age.stats, age.minionData); //age.ability = AbilityGenerator.GenerateAbility(a.line, age.stats, age.minionData); switch (a.line) { case 0: bge.frontline.Add(age); break; case 1: bge.backline.Add(age); break; case 2: bge.supportline.Add(age); break; } } } } else { return(null); } return(bge); } }
public void UseAbility(BattleGroupEntity targetGroup) { //use ability this.ability.remainingCooldown = this.ability.cooldown; }
public void UseAttack(BattleGroupEntity targetGroup) { attack.effect.PerformEffect(targetGroup, attack, turnStartCount); }