Пример #1
0
        public HeroSettingCollection AddUlt(string name, bool hasDuration = false, bool hasKnockback = false)
        {
            // Get the names of the settings to be added.
            string isEnabled  = "Ultimate Ability";
            string generation = "Ultimate Generation";
            string passive    = "Ultimate Generation - Passive";
            string combat     = "Ultimate Generation - Combat";
            string knockback  = "Knockback Scalar";

            if (name != null)
            {
                // Add the (name) suffix if 'name' is not null.
                isEnabled  += " (" + name + ")";
                generation += " (" + name + ")";
                passive    += " (" + name + ")";
                combat     += " (" + name + ")";
                knockback   = name + " " + knockback;
            }

            // i18n name resolvers.
            AbilityNameResolver enabledResolver           = new AbilityNameResolver(AbilityNameType.UltimateSwitchSetting, isEnabled, name ?? isEnabled);       // Toggle
            AbilityNameResolver generationResolver        = new AbilityNameResolver(AbilityNameType.UltimateGeneration, generation, name ?? generation);        // Generation
            AbilityNameResolver passiveGenerationResolver = new AbilityNameResolver(AbilityNameType.UltimateGenerationPassive, passive, name ?? passive);       // Passive Generation
            AbilityNameResolver combatGenerationResolver  = new AbilityNameResolver(AbilityNameType.UltimateGenerationCombat, combat, name ?? combat);          // Combat Generation

            // Add the settings.
            Add(new SwitchValue(isEnabled, true)
            {
                TitleResolver = enabledResolver
            });
            Add(new RangeValue(generation, 10, 500)
            {
                TitleResolver = generationResolver
            });
            Add(new RangeValue(passive, 0, 500)
            {
                TitleResolver = passiveGenerationResolver
            });
            Add(new RangeValue(combat, 0, 500)
            {
                TitleResolver = combatGenerationResolver
            });

            if (hasDuration)
            {
                // Add duration info if it can be changed.
                Add(UltimateDuration);
                Add(InfiniteDuration);
            }

            if (hasKnockback)
            {
                Add(new RangeValue(knockback, 0, 500));
            }

            return(this);
        }
 public static RangeValue NewPercentage(string name, AbilityNameResolver title, double min, double max, double defaultValue = 100) => new RangeValue(false, true, name, min, max, defaultValue)
 {
     TitleResolver = title
 };