charms/CharmDash.cs

CharmDash game component, represents a dash charm item that increases player's dash count when a run starts. It declares an item id, a description string, and in OnRunStart increments the NumDashes stat and updates NumDashesAvailable.

Rough Code
public class CharmDash : Charm
{
	public const string ItemId = "charm_dash";

	public static string Description() => $"+1 dash";

	public override void OnRunStart()
	{
		Player.Modify( this, PlayerStat.NumDashes, 1, ModifierType.Add );
		Player.NumDashesAvailable = (int)Player.Stats[PlayerStat.NumDashes];
	}
}