mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-14 02:22:06 +00:00
feat(multiplayer): wire ranked profile runtime policy
This commit is contained in:
@@ -87,6 +87,19 @@ type TierPolicy struct {
|
||||
bands []TierBand
|
||||
}
|
||||
|
||||
// DefaultTierPolicy is the backend-owned launch policy used by runnable API
|
||||
// binaries. Callers still serialize only the resulting tier; clients never
|
||||
// receive or reproduce these thresholds.
|
||||
func DefaultTierPolicy() TierPolicy {
|
||||
return TierPolicy{bands: []TierBand{
|
||||
{Tier: RankTierBronze, MinRating: 0},
|
||||
{Tier: RankTierSilver, MinRating: 1200},
|
||||
{Tier: RankTierGold, MinRating: 1500},
|
||||
{Tier: RankTierPlatinum, MinRating: 1800},
|
||||
{Tier: RankTierDiamond, MinRating: 2200},
|
||||
}}
|
||||
}
|
||||
|
||||
func NewTierPolicy(bands []TierBand) (TierPolicy, error) {
|
||||
if len(bands) == 0 || bands[0].MinRating > 0 {
|
||||
return TierPolicy{}, fmt.Errorf("tier policy must start at or below zero")
|
||||
|
||||
Reference in New Issue
Block a user