equip.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/enum"
  5. "f1-game/internal/types"
  6. )
  7. var Equip = &equipConfig{}
  8. func init() {
  9. _allList = append(_allList, Equip)
  10. }
  11. type (
  12. EquipRow struct {
  13. ID int32 `json:"ID"` // ID
  14. Quality enum.Quality `json:"Quality"` // 品质
  15. Job enum.Job `json:"Job"` // 职业
  16. EquipType enum.EquipType `json:"EquipType"` // 部位
  17. NeedLevel int32 `json:"NeedLevel"` // 穿戴等级
  18. CraftCosts types.Assets `json:"CraftCosts"` // 打造消耗
  19. BaseAttrRange types.BaseKeys `json:"BaseAttrRange"` // 基础属性范围
  20. RandomAttrNumRange types.PairList[int32, int32] `json:"RandomAttrNumRange"` // 随机属性数量范围
  21. ExtraAttrPool int32 `json:"ExtraAttrPool"` // 随机池
  22. RareSkillProb int32 `json:"RareSkillProb"` // 稀有技能概率
  23. RandomSkillPools types.PairList[int32, int32] `json:"RandomSkillPools"` // 随机技能池
  24. SkillID types.Pair[int32, int32] `json:"SkillID"` // 技能ID
  25. RareSkillPool int32 `json:"RareSkillPool"` // 稀有技能池
  26. EquipHeroID int32 `json:"EquipHeroID"` // 专属英雄ID
  27. NeedActiveSkill bool `json:"NeedActiveSkill"` // 专属技能是否需要激活
  28. }
  29. equipConfig struct {
  30. baseConfig
  31. list []*EquipRow // all list
  32. idUniMaps map[int32]*EquipRow // key:id
  33. }
  34. )
  35. func (p *equipConfig) Name() string {
  36. return "equip"
  37. }
  38. func (p *equipConfig) Init() {
  39. p.idUniMaps = map[int32]*EquipRow{}
  40. }
  41. func (p *equipConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  42. if reload && p.denyLoad {
  43. return 0, nil
  44. }
  45. var list []*EquipRow
  46. if err := DecodeData(maps, &list); err != nil {
  47. return 0, err
  48. }
  49. p.list = list
  50. idUniMaps := map[int32]*EquipRow{}
  51. for _, row := range list {
  52. idUniMaps[row.ID] = row
  53. }
  54. p.idUniMaps = idUniMaps
  55. return len(list), nil
  56. }
  57. // func (p *equipConfig) OnAfterLoad(_ bool) {
  58. // }
  59. func (p *equipConfig) List() []*EquipRow {
  60. return p.list
  61. }
  62. func (p *equipConfig) GetByID(id int32) (*EquipRow, bool) {
  63. value, found := p.idUniMaps[id]
  64. return value, found
  65. }
  66. func (p *equipConfig) ContainID(id int32) bool {
  67. _, found := p.idUniMaps[id]
  68. return found
  69. }