List <MinionTypeRepetition> GetRepeatedMinionList(List <MinionType> orderList) { List <MinionTypeRepetition> repeatedList = new List <MinionTypeRepetition>(); var order = 0; foreach (var minionT in orderList) { var repeated = repeatedList.FirstOrDefault(r => r.type == minionT); if (repeated == null) { repeated = new MinionTypeRepetition(); repeated.count++; repeated.type = minionT; repeatedList.Add(repeated); } else { repeated.count++; } repeated.orders.Add(order); order++; } return(repeatedList); }
List <TowerType> GetTowersTypeToSwap(MinionTypeRepetition minionRepeated) { var targetType = GameplayUtils.GetTargetTypeByMinionType(minionRepeated.type); var triggerToConsec = GetConsequenceByTargetType(targetType); var list = new List <TowerType>(); foreach (var item in triggerToConsec.toBeReplaced) { TowerType t = (TowerType)Enum.Parse(typeof(TowerType), item); list.Add(t); } return(list); }