#nullable enable using System.Collections.Generic; namespace SideScrollerGame.Hero.Rules; public sealed class HeroRuleConfig { public HeroRuleConfig(int primaryWeaponSlotCount, string basePrimaryWeaponId, string baseSecondaryWeaponId, string defaultSpecialWeaponId, int defaultSpecialAmmo, int maxSquadronMateCount, IReadOnlyList pointThresholds) { PrimaryWeaponSlotCount = primaryWeaponSlotCount; BasePrimaryWeaponId = basePrimaryWeaponId; BaseSecondaryWeaponId = baseSecondaryWeaponId; DefaultSpecialWeaponId = defaultSpecialWeaponId; DefaultSpecialAmmo = defaultSpecialAmmo; MaxSquadronMateCount = maxSquadronMateCount; PointThresholds = pointThresholds; } public static HeroRuleConfig CreateDefault() { return new HeroRuleConfig(2, "weapon.primary.basic", "weapon.secondary.vertical", "weapon.special.bomb", 12, 4, [500, 1500, 3000]); } public int PrimaryWeaponSlotCount { get; } public string BasePrimaryWeaponId { get; } public string BaseSecondaryWeaponId { get; } public string DefaultSpecialWeaponId { get; } public int DefaultSpecialAmmo { get; } public int MaxSquadronMateCount { get; } public IReadOnlyList PointThresholds { get; } }