Ejemplo n.º 1
0
 public ItemParser(
     BaseItemDefinitions baseItemDefinitions, IBuilderFactories builderFactories, ICoreParser coreParser,
     IStatTranslator statTranslator)
 {
     _baseItemDefinitions = baseItemDefinitions;
     _partialParsers      = CreatePartialParsers(builderFactories, coreParser, statTranslator);
 }
Ejemplo n.º 2
0
        public async Task SetUpAsync()
        {
            _baseItemDefinitions = await GameData.BaseItems.ConfigureAwait(false);

            _statTranslator = await _statTranslatorTask.ConfigureAwait(false);

            _parser = await ParserTask.ConfigureAwait(false);
        }
Ejemplo n.º 3
0
        public async Task SetUpAsync()
        {
            _modifierDefinitions = await GameData.Modifiers.ConfigureAwait(false);

            _baseItemDefinitions = await GameData.BaseItems.ConfigureAwait(false);

            _statTranslator = (await GameData.StatTranslators.ConfigureAwait(false))[StatTranslationFileNames.Main];
            _parser         = await ParserTask.ConfigureAwait(false);
        }
Ejemplo n.º 4
0
 public ItemParser(
     BaseItemDefinitions baseItemDefinitions, IBuilderFactories builderFactories, ICoreParser coreParser,
     IStatTranslator statTranslator)
 {
     _baseItemDefinitions = baseItemDefinitions;
     _builderFactories    = builderFactories;
     _coreParser          = coreParser;
     _statTranslator      = statTranslator;
 }
Ejemplo n.º 5
0
        public static void UpdateParseableBaseItems(BaseItemDefinitions baseItemDefinitions)
        {
            var seenImplicits = new HashSet <string>();
            var seenBuffs     = new HashSet <string>();
            var baseIds       = baseItemDefinitions.BaseItems
                                .Where(d => d.ReleaseState != ReleaseState.Unreleased)
                                .Where(d => d.ImplicitModifiers.Any(s => seenImplicits.Add(s.StatId)) ||
                                       d.BuffStats.Any(s => seenBuffs.Add(s.StatId)))
                                .Select(d => d.MetadataId);

            var parseablePath = "../../../PoESkillTree.Computation.IntegrationTests/Data/ParseableBaseItems.txt";

            File.WriteAllLines(parseablePath, baseIds);
        }
Ejemplo n.º 6
0
        private Parser(
            PassiveTreeDefinition passiveTree, BaseItemDefinitions baseItems, SkillDefinitions skills,
            StatTranslators statTranslators, IBuilderFactories builderFactories, IParsingData <TStep> parsingData)
        {
            _statTranslators = statTranslators;
            _coreParser      = new CoreParser <TStep>(parsingData, builderFactories);
            _givenStats      = parsingData.GivenStats;

            _passiveNodeParser        = Caching(new PassiveNodeParser(passiveTree, builderFactories, _coreParser));
            _skilledPassiveNodeParser = Caching(new SkilledPassiveNodeParser(passiveTree, builderFactories));
            _itemParser = Caching(new ItemParser(baseItems, builderFactories, _coreParser,
                                                 statTranslators[StatTranslationFileNames.Main]));
            _activeSkillParser =
                Caching(new ActiveSkillParser(skills, builderFactories, GetOrAddUntranslatedStatParser));
            _supportSkillParser =
                Caching(new SupportSkillParser(skills, builderFactories, GetOrAddUntranslatedStatParser));
            _skillsParser = new SkillsParser(skills, _activeSkillParser, _supportSkillParser);
        }