map_res_transport.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. var MapResTransport = &mapResTransportConfig{}
  4. func init() {
  5. _allList = append(_allList, MapResTransport)
  6. }
  7. type (
  8. MapResTransportRow struct {
  9. LoadRatio int32 `json:"LoadRatio"` // 负重百分比
  10. AddMarchSpeed int64 `json:"AddMarchSpeed"` // 行军时间增加
  11. }
  12. mapResTransportConfig struct {
  13. baseConfig
  14. list []*MapResTransportRow // all list
  15. loadRatioUniMaps map[int32]*MapResTransportRow // key:loadRatio
  16. }
  17. )
  18. func (p *mapResTransportConfig) Name() string {
  19. return "map_res_transport"
  20. }
  21. func (p *mapResTransportConfig) Init() {
  22. p.loadRatioUniMaps = map[int32]*MapResTransportRow{}
  23. }
  24. func (p *mapResTransportConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  25. if reload && p.denyLoad {
  26. return 0, nil
  27. }
  28. var list []*MapResTransportRow
  29. if err := DecodeData(maps, &list); err != nil {
  30. return 0, err
  31. }
  32. p.list = list
  33. loadRatioUniMaps := map[int32]*MapResTransportRow{}
  34. for _, row := range list {
  35. loadRatioUniMaps[row.LoadRatio] = row
  36. }
  37. p.loadRatioUniMaps = loadRatioUniMaps
  38. return len(list), nil
  39. }
  40. // func (p *mapResTransportConfig) OnAfterLoad(_ bool) {
  41. // }
  42. func (p *mapResTransportConfig) List() []*MapResTransportRow {
  43. return p.list
  44. }
  45. func (p *mapResTransportConfig) GetByLoadRatio(loadRatio int32) (*MapResTransportRow, bool) {
  46. value, found := p.loadRatioUniMaps[loadRatio]
  47. return value, found
  48. }
  49. func (p *mapResTransportConfig) ContainLoadRatio(loadRatio int32) bool {
  50. _, found := p.loadRatioUniMaps[loadRatio]
  51. return found
  52. }