Пример #1
0
        public string[] FindVoices(DETAIL detail, Human.CULTIVATE cultivate, Human.CHARATYPE charaType)
        {
            string chara        = FirstCharToUpper(charaType.ToString());
            string cult         = FirstCharToUpper(cultivate.ToString());
            string detailStr    = detail.ToString();
            string lookupString = String.Format("{0}-{1}-{2}", chara, cult, detailStr);

            if (cacheResults && cache.ContainsKey(lookupString))
            {
                return(cache[lookupString]);
            }


            var results = new List <string>();

            int i = 0;

            foreach (var folder in GetFolderList(chara, cult, detailStr))
            {
                results.AddRange(GetMusicFiles(folder, i++ < 4));

                if (results.Count > 0 && useFallback)
                {
                    break;
                }
            }

            var resultsArr = results.ToArray();

            if (cacheResults)
            {
                cache[lookupString] = resultsArr;
            }

            return(resultsArr);
        }
Пример #2
0
 private IEnumerable <OneVoice> GetFallbacks(Human.CULTIVATE cultivate)
 {
     return(Fallbacks.Where(v => v.hasVoice[(int)cultivate]));
 }