league_level.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/types"
  5. )
  6. var LeagueLevel = &leagueLevelConfig{}
  7. func init() {
  8. _allList = append(_allList, LeagueLevel)
  9. }
  10. type (
  11. LeagueLevelRow struct {
  12. Level int32 `json:"Level"` // 联盟等级
  13. Exp types.Pair[int32, int] `json:"Exp"` // 升级所需经验
  14. LevelAttrs types.Attrs `json:"LevelAttrs"` // 等级属性
  15. }
  16. leagueLevelConfig struct {
  17. baseConfig
  18. list []*LeagueLevelRow // all list
  19. levelUniMaps map[int32]*LeagueLevelRow // key:level
  20. }
  21. )
  22. func (p *leagueLevelConfig) Name() string {
  23. return "league_level"
  24. }
  25. func (p *leagueLevelConfig) Init() {
  26. p.levelUniMaps = map[int32]*LeagueLevelRow{}
  27. }
  28. func (p *leagueLevelConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  29. if reload && p.denyLoad {
  30. return 0, nil
  31. }
  32. var list []*LeagueLevelRow
  33. if err := DecodeData(maps, &list); err != nil {
  34. return 0, err
  35. }
  36. p.list = list
  37. levelUniMaps := map[int32]*LeagueLevelRow{}
  38. for _, row := range list {
  39. levelUniMaps[row.Level] = row
  40. }
  41. p.levelUniMaps = levelUniMaps
  42. return len(list), nil
  43. }
  44. // func (p *leagueLevelConfig) OnAfterLoad(_ bool) {
  45. // }
  46. func (p *leagueLevelConfig) List() []*LeagueLevelRow {
  47. return p.list
  48. }
  49. func (p *leagueLevelConfig) GetByLevel(level int32) (*LeagueLevelRow, bool) {
  50. value, found := p.levelUniMaps[level]
  51. return value, found
  52. }
  53. func (p *leagueLevelConfig) ContainLevel(level int32) bool {
  54. _, found := p.levelUniMaps[level]
  55. return found
  56. }