예제 #1
0
        public Magicite BuildMagiciteInfoFromName(string name)
        {
            var magicite    = magiciteRepository.GetMagiciteByName(name);
            var newMagicite = new Magicite();

            newMagicite.Info = magicite;

            var statusRegex = new Regex(Constants.Constants.statusRegex);
            var statuses    = statusRegex.Matches(magicite.Effects).Select(x => x?.Groups[1]?.Value).ToList();

            newMagicite.MagiciteStatuses = statusRepository.GetStatusByNamesAndSource(magicite.MagiciteUltra, statuses, 0);

            return(newMagicite);
        }
예제 #2
0
        private void WireUpMagiciteIds(TransformResultsContainer transformResults)
        {
            foreach (MagiciteSkill ms in transformResults.MagiciteSkills)
            {
                if (!String.IsNullOrWhiteSpace(ms.MagiciteName))
                {
                    Magicite parentMagicite = transformResults.Magicites.FirstOrDefault(
                        m => $"{m.MagiciteName} ({GetNameOfTypeListItem<RealmList>(m.Realm)})" == ms.MagiciteName);

                    if (parentMagicite != null)
                    {
                        ms.MagiciteId = parentMagicite.Id;
                    }
                    else
                    {
                        ms.MagiciteId = 0; //couldn't match
                    }

                    _logger.LogDebug("wired up MagiciteId {MagiciteId} to MagiciteSkill {MagiciteSkill}", ms.MagiciteId, ms.Description);
                }
            }
        }