map_march.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 MapMarch = &mapMarchConfig{}
  8. func init() {
  9. _allList = append(_allList, MapMarch)
  10. }
  11. type (
  12. MapMarchRow struct {
  13. MarchType enum.MarchType `json:"MarchType"` // 类型
  14. EnergyCost int32 `json:"EnergyCost"` // 体力消耗
  15. Cost types.Assets `json:"Cost"` // 消耗
  16. Speed int64 `json:"Speed"` // 行军速度
  17. FixedEnergyCost bool `json:"FixedEnergyCost"` // 固定体力消耗
  18. }
  19. mapMarchConfig struct {
  20. baseConfig
  21. list []*MapMarchRow // all list
  22. marchTypeUniMaps map[enum.MarchType]*MapMarchRow // key:marchType
  23. }
  24. )
  25. func (p *mapMarchConfig) Name() string {
  26. return "map_march"
  27. }
  28. func (p *mapMarchConfig) Init() {
  29. p.marchTypeUniMaps = map[enum.MarchType]*MapMarchRow{}
  30. }
  31. func (p *mapMarchConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  32. if reload && p.denyLoad {
  33. return 0, nil
  34. }
  35. var list []*MapMarchRow
  36. if err := DecodeData(maps, &list); err != nil {
  37. return 0, err
  38. }
  39. p.list = list
  40. marchTypeUniMaps := map[enum.MarchType]*MapMarchRow{}
  41. for _, row := range list {
  42. marchTypeUniMaps[row.MarchType] = row
  43. }
  44. p.marchTypeUniMaps = marchTypeUniMaps
  45. return len(list), nil
  46. }
  47. // func (p *mapMarchConfig) OnAfterLoad(_ bool) {
  48. // }
  49. func (p *mapMarchConfig) List() []*MapMarchRow {
  50. return p.list
  51. }
  52. func (p *mapMarchConfig) GetByMarchType(marchType enum.MarchType) (*MapMarchRow, bool) {
  53. value, found := p.marchTypeUniMaps[marchType]
  54. return value, found
  55. }
  56. func (p *mapMarchConfig) ContainMarchType(marchType enum.MarchType) bool {
  57. _, found := p.marchTypeUniMaps[marchType]
  58. return found
  59. }