예제 #1
0
        // Token: 0x06003B1D RID: 15133 RVA: 0x0010E31C File Offset: 0x0010C51C
        public static int GetRandomBattleArmyActors(IConfigDataLoader configDataLoader, List <int> randomArmies, RandomNumber randomNumber, out List <RandomArmyActor> actors)
        {
            actors = new List <RandomArmyActor>();
            Dictionary <int, int> dictionary = new Dictionary <int, int>();

            foreach (int key in randomArmies)
            {
                ConfigDataBattleRandomArmyInfo configDataBattleRandomArmyInfo = configDataLoader.GetConfigDataBattleRandomArmyInfo(key);
                if (configDataBattleRandomArmyInfo == null)
                {
                    return(-919);
                }
                for (int i = 0; i < configDataBattleRandomArmyInfo.RandomArmyActors.Count; i++)
                {
                    dictionary.Add(i, configDataBattleRandomArmyInfo.RandomArmyActors[i].Weight);
                }
                int randomNumberByAccumulateWeight = randomNumber.GetRandomNumberByAccumulateWeight(dictionary);
                if (randomNumberByAccumulateWeight == -2147483648)
                {
                    return(-920);
                }
                actors.Add(configDataBattleRandomArmyInfo.RandomArmyActors[randomNumberByAccumulateWeight]);
                dictionary.Clear();
            }
            return(0);
        }