map_build_upgrade.go 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/types"
  5. )
  6. var MapBuildUpgrade = &mapBuildUpgradeConfig{}
  7. func init() {
  8. _allList = append(_allList, MapBuildUpgrade)
  9. }
  10. type (
  11. MapBuildUpgradeRow struct {
  12. ConfigID int32 `json:"ConfigID"` // 建筑配置ID
  13. Level int32 `json:"Level"` // 等级
  14. UpgradeCost types.Assets `json:"UpgradeCost"` // 升级消耗
  15. UpgradeTime int64 `json:"UpgradeTime"` // 升级时间
  16. Durability int32 `json:"Durability"` // 耐久
  17. ViewRange int32 `json:"ViewRange"` // 视野范围
  18. LeagueBuildAttrs types.Attrs `json:"LeagueBuildAttrs"` // 联盟建筑属性
  19. }
  20. mapBuildUpgradeConfig struct {
  21. baseConfig
  22. list []*MapBuildUpgradeRow // all list
  23. configIDListMaps map[int32][]*MapBuildUpgradeRow // key:configID
  24. configIDLevelUniMaps map[int32]map[int32]*MapBuildUpgradeRow // key:configID, level
  25. }
  26. )
  27. func (p *mapBuildUpgradeConfig) Name() string {
  28. return "map_build_upgrade"
  29. }
  30. func (p *mapBuildUpgradeConfig) Init() {
  31. p.configIDListMaps = map[int32][]*MapBuildUpgradeRow{}
  32. p.configIDLevelUniMaps = map[int32]map[int32]*MapBuildUpgradeRow{}
  33. }
  34. func (p *mapBuildUpgradeConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  35. if reload && p.denyLoad {
  36. return 0, nil
  37. }
  38. var list []*MapBuildUpgradeRow
  39. if err := DecodeData(maps, &list); err != nil {
  40. return 0, err
  41. }
  42. p.list = list
  43. configIDListMaps := map[int32][]*MapBuildUpgradeRow{}
  44. for _, row := range list {
  45. configIDListMaps[row.ConfigID] = append(configIDListMaps[row.ConfigID], row)
  46. }
  47. p.configIDListMaps = configIDListMaps
  48. configIDLevelUniMaps := map[int32]map[int32]*MapBuildUpgradeRow{}
  49. for _, row := range list {
  50. itemMap := configIDLevelUniMaps[row.ConfigID]
  51. if itemMap == nil {
  52. itemMap = map[int32]*MapBuildUpgradeRow{}
  53. configIDLevelUniMaps[row.ConfigID] = itemMap
  54. }
  55. itemMap[row.Level] = row
  56. }
  57. p.configIDLevelUniMaps = configIDLevelUniMaps
  58. return len(list), nil
  59. }
  60. // func (p *mapBuildUpgradeConfig) OnAfterLoad(_ bool) {
  61. // }
  62. func (p *mapBuildUpgradeConfig) List() []*MapBuildUpgradeRow {
  63. return p.list
  64. }
  65. func (p *mapBuildUpgradeConfig) ListByConfigID(configID int32) ([]*MapBuildUpgradeRow, bool) {
  66. value, found := p.configIDListMaps[configID]
  67. return value, found
  68. }
  69. func (p *mapBuildUpgradeConfig) ListContainConfigID(configID int32) bool {
  70. _, found := p.configIDListMaps[configID]
  71. return found
  72. }
  73. func (p *mapBuildUpgradeConfig) GetByConfigIDLevel(configID int32, level int32) (*MapBuildUpgradeRow, bool) {
  74. mapItem, found := p.configIDLevelUniMaps[configID]
  75. if !found {
  76. return nil, false
  77. }
  78. value, found := mapItem[level]
  79. return value, found
  80. }
  81. func (p *mapBuildUpgradeConfig) ContainConfigIDLevel(configID int32, level int32) bool {
  82. mapItem, found := p.configIDLevelUniMaps[configID]
  83. if !found {
  84. return false
  85. }
  86. _, found = mapItem[level]
  87. return found
  88. }