| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 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
- }
|