Spending/Upgrades/Economy/StorageUpgrade.cs
namespace PlanetMeat;

[Title( "Economy Upgrade - Storage" )]
public sealed class StorageUpgrade : BaseComponentUpgrade<AccountStorage, double>
{
	protected override double EffectBase => TargetComponent?.GetStorageWithout() ?? 0.0;
	protected override double GetEffectAt( int rank ) => EffectPerRank.MultiplyCapped( rank );
	protected override bool IsUnderCap => OverallEffect + 0.001 < EffectMax;

	protected override void OnRankChanged()
	{
		TargetComponent?.ContributeStorage( CurrentEffect );
	}
}