skill.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/enum"
  5. )
  6. var Skill = &skillConfig{}
  7. func init() {
  8. _allList = append(_allList, Skill)
  9. }
  10. type (
  11. SkillRow struct {
  12. ID int32 `json:"ID"` // ID
  13. Type enum.SkillType `json:"Type"` // 类型
  14. MaxLv int32 `json:"MaxLv"` // 最大等级
  15. UnlockStar int32 `json:"UnlockStar"` // 解锁英雄星级
  16. }
  17. skillConfig struct {
  18. baseConfig
  19. list []*SkillRow // all list
  20. idUniMaps map[int32]*SkillRow // key:id
  21. }
  22. )
  23. func (p *skillConfig) Name() string {
  24. return "skill"
  25. }
  26. func (p *skillConfig) Init() {
  27. p.idUniMaps = map[int32]*SkillRow{}
  28. }
  29. func (p *skillConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  30. if reload && p.denyLoad {
  31. return 0, nil
  32. }
  33. var list []*SkillRow
  34. if err := DecodeData(maps, &list); err != nil {
  35. return 0, err
  36. }
  37. p.list = list
  38. idUniMaps := map[int32]*SkillRow{}
  39. for _, row := range list {
  40. idUniMaps[row.ID] = row
  41. }
  42. p.idUniMaps = idUniMaps
  43. return len(list), nil
  44. }
  45. // func (p *skillConfig) OnAfterLoad(_ bool) {
  46. // }
  47. func (p *skillConfig) List() []*SkillRow {
  48. return p.list
  49. }
  50. func (p *skillConfig) GetByID(id int32) (*SkillRow, bool) {
  51. value, found := p.idUniMaps[id]
  52. return value, found
  53. }
  54. func (p *skillConfig) ContainID(id int32) bool {
  55. _, found := p.idUniMaps[id]
  56. return found
  57. }