Add hero runtime

This commit is contained in:
2026-04-21 22:54:14 +02:00
parent 67737f3ba8
commit 762c8969ab
29 changed files with 1327 additions and 12 deletions

View File

@@ -0,0 +1,38 @@
#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; }
}