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 };