hero.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. var Hero = &heroConfig{}
  4. func init() {
  5. _allList = append(_allList, Hero)
  6. }
  7. type (
  8. HeroRow struct {
  9. ID int32 `json:"ID"` // ID
  10. Camp int32 `json:"Camp"` // 阵营
  11. Quality int32 `json:"Quality"` // 品质
  12. BasicAttack int32 `json:"BasicAttack"` // 普攻
  13. Talent int32 `json:"Talent"` // 天赋
  14. ActiveSkill int32 `json:"ActiveSkill"` // 主动技能
  15. PassiveSkill int32 `json:"PassiveSkill"` // 被动技能
  16. SpecialSkill int32 `json:"SpecialSkill"` // 专属技能
  17. Job int32 `json:"Job"` // 职业
  18. InitTroop int32 `json:"InitTroop"` // 统兵数量
  19. DecomposeItemID int32 `json:"DecomposeItemID"` // 碎片id
  20. DecomposeItemNum int32 `json:"DecomposeItemNum"` // 分解碎片数量
  21. InitHealth int64 `json:"InitHealth"` // 初始血量
  22. HealthGrow int64 `json:"HealthGrow"` // 血量成长
  23. InitAttack int64 `json:"InitAttack"` // 初始攻击
  24. AttackGrow int64 `json:"AttackGrow"` // 攻击成长
  25. InitDefense int64 `json:"InitDefense"` // 初始防御
  26. DefenseGrow int64 `json:"DefenseGrow"` // 防御成长
  27. InitAttackSpeed int64 `json:"InitAttackSpeed"` // 初始攻速
  28. InitSpeed int64 `json:"InitSpeed"` // 初始移速
  29. InitAttackRange int64 `json:"InitAttackRange"` // 初始攻击距离
  30. SiegeValue int32 `json:"SiegeValue"` // 攻城值
  31. }
  32. heroConfig struct {
  33. baseConfig
  34. list []*HeroRow // all list
  35. idUniMaps map[int32]*HeroRow // key:id
  36. }
  37. )
  38. func (p *heroConfig) Name() string {
  39. return "hero"
  40. }
  41. func (p *heroConfig) Init() {
  42. p.idUniMaps = map[int32]*HeroRow{}
  43. }
  44. func (p *heroConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  45. if reload && p.denyLoad {
  46. return 0, nil
  47. }
  48. var list []*HeroRow
  49. if err := DecodeData(maps, &list); err != nil {
  50. return 0, err
  51. }
  52. p.list = list
  53. idUniMaps := map[int32]*HeroRow{}
  54. for _, row := range list {
  55. idUniMaps[row.ID] = row
  56. }
  57. p.idUniMaps = idUniMaps
  58. return len(list), nil
  59. }
  60. // func (p *heroConfig) OnAfterLoad(_ bool) {
  61. // }
  62. func (p *heroConfig) List() []*HeroRow {
  63. return p.list
  64. }
  65. func (p *heroConfig) GetByID(id int32) (*HeroRow, bool) {
  66. value, found := p.idUniMaps[id]
  67. return value, found
  68. }
  69. func (p *heroConfig) ContainID(id int32) bool {
  70. _, found := p.idUniMaps[id]
  71. return found
  72. }