package data import ( "f1-game/internal/extend/math" clog "github.com/cherry-game/cherry/logger" ) var maxLevel int32 func (p *lordLevelConfig) OnAfterLoad(_ bool) { rows := p.List() lastLordLevelRow := rows[len(rows)-1] if lastLordLevelRow == nil { clog.Fatalf("lord max level config not found") } maxLevel = lastLordLevelRow.Level } func (p *lordLevelConfig) GetMaxLevel() int32 { return maxLevel } func (p *lordLevelConfig) GetLevelExp(startLevel, endLevel int32) int64 { needExp := int64(0) for level := startLevel; level < endLevel; level++ { row, found := p.GetByLevel(level) if !found { clog.Warnf("lord level config not found. [level = %d]", level) continue } needExp += row.Exp } return needExp } // 通过赛季获取等级上限 func (p *lordLevelConfig) GetLevelLimitBySeason(seasonID int32) int32 { maxLevel := int32(1) for _, row := range p.List() { if row.SeasonID <= seasonID { maxLevel = math.Max(maxLevel, row.Level) } } return maxLevel }