38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
#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<int> 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<int> PointThresholds { get; }
|
|
} |