Пример #1
0
        private static AdditionalSkillLevelParser CreateSut(bool isSpell = false, Dictionary <int, SkillLevelDefinition>?supportLevelDefinitions = null)
        {
            supportLevelDefinitions ??= new Dictionary <int, SkillLevelDefinition>();
            var skillDefinitions = new SkillDefinitions(new[]
            {
                SkillDefinition.CreateActive("a", 0, "", "b", Array.Empty <string>(),
                                             new SkillBaseItemDefinition("a", "a", ReleaseState.Released, new[] { "g1", "g2", isSpell ? "spell" : "attack" }),
                                             CreateActiveSkillDefinition("a"), new Dictionary <int, SkillLevelDefinition>()),
                SkillDefinition.CreateActive("b", 1, "", null, Array.Empty <string>(),
                                             null, CreateActiveSkillDefinition("b"), new Dictionary <int, SkillLevelDefinition>()),
                SkillDefinition.CreateSupport("s1", 2, "", "s2", Array.Empty <string>(),
                                              new SkillBaseItemDefinition("s1", "s1", ReleaseState.Released, new[] { "g2", "g3" }),
                                              CreateSupportSkillDefinition(), supportLevelDefinitions),
                SkillDefinition.CreateSupport("s2", 3, "", null, Array.Empty <string>(),
                                              null, CreateSupportSkillDefinition(), supportLevelDefinitions),
                SkillDefinition.CreateSupport("s3", 4, "", null, Array.Empty <string>(),
                                              null, CreateSupportSkillDefinition(), supportLevelDefinitions),
            });
            var statFactory = new StatFactory();

            return(new AdditionalSkillLevelParser(skillDefinitions,
                                                  new GemStatBuilders(statFactory),
                                                  new GemTagBuilders(),
                                                  new ValueBuilders(),
                                                  new MetaStatBuilders(statFactory),
                                                  new SkillBuilders(statFactory, skillDefinitions)));
        }
        private static AdditionalSkillQualityParser CreateSut(Dictionary <int, SkillLevelDefinition>?supportLevelDefinitions = null)
        {
            supportLevelDefinitions ??= new Dictionary <int, SkillLevelDefinition>();
            var skillDefinitions = new SkillDefinitions(new[]
            {
                SkillDefinition.CreateActive("a", 0, "", null, Array.Empty <string>(),
                                             new SkillBaseItemDefinition("a", "a", ReleaseState.Released, Array.Empty <string>()),
                                             CreateActiveSkillDefinition("a"), new Dictionary <int, SkillLevelDefinition>()),
                SkillDefinition.CreateSupport("s1", 2, "", null, Array.Empty <string>(),
                                              new SkillBaseItemDefinition("s1", "s1", ReleaseState.Released, Array.Empty <string>()),
                                              CreateSupportSkillDefinition(), supportLevelDefinitions),
            });
            var statFactory = new StatFactory();

            return(new AdditionalSkillQualityParser(skillDefinitions,
                                                    new GemStatBuilders(statFactory),
                                                    new ValueBuilders(),
                                                    new MetaStatBuilders(statFactory)));
        }
 public static SkillDefinition CreateSupport(
     string id, SupportSkillDefinition supportSkill, IReadOnlyDictionary <int, SkillLevelDefinition> levels)
 => SkillDefinition.CreateSupport(id, 0, "", null, new[] { "" }, null, supportSkill, levels);