arm_level.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/types"
  5. )
  6. var ArmLevel = &armLevelConfig{}
  7. func init() {
  8. _allList = append(_allList, ArmLevel)
  9. }
  10. type (
  11. ArmLevelRow struct {
  12. ID int32 `json:"ID"` // 士兵ID
  13. Level int32 `json:"Level"` // 等级
  14. ConscriptNumSecond int32 `json:"ConscriptNumSecond"` // 每秒征兵个数
  15. ConscriptCostItems types.Assets `json:"ConscriptCostItems"` // 征兵消耗材料
  16. OutsideConscriptCosts types.Assets `json:"OutsideConscriptCosts"` // 城外征兵消耗
  17. UpgradeCostItems types.Assets `json:"UpgradeCostItems"` // 升级消耗材料
  18. UpArmID int32 `json:"UpArmID"` // 升级后士兵ID
  19. InfantryAttr types.Attrs `json:"InfantryAttr"` // 步兵加成
  20. CavalryAttr types.Attrs `json:"CavalryAttr"` // 骑兵加成
  21. ArcherAttr types.Attrs `json:"ArcherAttr"` // 弓兵加成
  22. BaseFeat int64 `json:"BaseFeat"` // 基础功勋
  23. FeatRatio int64 `json:"FeatRatio"` // 获得功勋系数
  24. }
  25. armLevelConfig struct {
  26. baseConfig
  27. list []*ArmLevelRow // all list
  28. idUniMaps map[int32]*ArmLevelRow // key:id
  29. levelUniMaps map[int32]*ArmLevelRow // key:level
  30. }
  31. )
  32. func (p *armLevelConfig) Name() string {
  33. return "arm_level"
  34. }
  35. func (p *armLevelConfig) Init() {
  36. p.idUniMaps = map[int32]*ArmLevelRow{}
  37. p.levelUniMaps = map[int32]*ArmLevelRow{}
  38. }
  39. func (p *armLevelConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  40. if reload && p.denyLoad {
  41. return 0, nil
  42. }
  43. var list []*ArmLevelRow
  44. if err := DecodeData(maps, &list); err != nil {
  45. return 0, err
  46. }
  47. p.list = list
  48. idUniMaps := map[int32]*ArmLevelRow{}
  49. for _, row := range list {
  50. idUniMaps[row.ID] = row
  51. }
  52. p.idUniMaps = idUniMaps
  53. levelUniMaps := map[int32]*ArmLevelRow{}
  54. for _, row := range list {
  55. levelUniMaps[row.Level] = row
  56. }
  57. p.levelUniMaps = levelUniMaps
  58. return len(list), nil
  59. }
  60. // func (p *armLevelConfig) OnAfterLoad(_ bool) {
  61. // }
  62. func (p *armLevelConfig) List() []*ArmLevelRow {
  63. return p.list
  64. }
  65. func (p *armLevelConfig) GetByID(id int32) (*ArmLevelRow, bool) {
  66. value, found := p.idUniMaps[id]
  67. return value, found
  68. }
  69. func (p *armLevelConfig) ContainID(id int32) bool {
  70. _, found := p.idUniMaps[id]
  71. return found
  72. }
  73. func (p *armLevelConfig) GetByLevel(level int32) (*ArmLevelRow, bool) {
  74. value, found := p.levelUniMaps[level]
  75. return value, found
  76. }
  77. func (p *armLevelConfig) ContainLevel(level int32) bool {
  78. _, found := p.levelUniMaps[level]
  79. return found
  80. }