示例#1
0
        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);
 }