exchange_goods.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 ExchangeGoods = &exchangeGoodsConfig{}
  8. func init() {
  9. _allList = append(_allList, ExchangeGoods)
  10. }
  11. type (
  12. ExchangeGoodsRow struct {
  13. ID int32 `json:"ID"` // 商品ID
  14. ExchangeType enum.ExchangeType `json:"ExchangeType"` // 交易所类型
  15. ItemType enum.ExchangeItemType `json:"ItemType"` // 商品分类
  16. ItemID int32 `json:"ItemID"` // 交易道具ID
  17. MinPrice int32 `json:"MinPrice"` // 单位价格区间(下限)
  18. MaxPrice int32 `json:"MaxPrice"` // 单位价区间(上限)
  19. UnitQty int32 `json:"unitQty"` // 数量单位
  20. MaxCount int32 `json:"MaxCount"` // 最大数量
  21. MinCount int32 `json:"MinCount"` // 最小数量
  22. FeeRate int32 `json:"FeeRate"` // 手续费(百分比)
  23. MinFee int32 `json:"MinFee"` // 最低手续费
  24. UnbindCost types.Assets `json:"UnbindCost"` // 装备解绑消耗
  25. }
  26. exchangeGoodsConfig struct {
  27. baseConfig
  28. list []*ExchangeGoodsRow // all list
  29. idUniMaps map[int32]*ExchangeGoodsRow // key:id
  30. }
  31. )
  32. func (p *exchangeGoodsConfig) Name() string {
  33. return "exchange_goods"
  34. }
  35. func (p *exchangeGoodsConfig) Init() {
  36. p.idUniMaps = map[int32]*ExchangeGoodsRow{}
  37. }
  38. func (p *exchangeGoodsConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  39. if reload && p.denyLoad {
  40. return 0, nil
  41. }
  42. var list []*ExchangeGoodsRow
  43. if err := DecodeData(maps, &list); err != nil {
  44. return 0, err
  45. }
  46. p.list = list
  47. idUniMaps := map[int32]*ExchangeGoodsRow{}
  48. for _, row := range list {
  49. idUniMaps[row.ID] = row
  50. }
  51. p.idUniMaps = idUniMaps
  52. return len(list), nil
  53. }
  54. // func (p *exchangeGoodsConfig) OnAfterLoad(_ bool) {
  55. // }
  56. func (p *exchangeGoodsConfig) List() []*ExchangeGoodsRow {
  57. return p.list
  58. }
  59. func (p *exchangeGoodsConfig) GetByID(id int32) (*ExchangeGoodsRow, bool) {
  60. value, found := p.idUniMaps[id]
  61. return value, found
  62. }
  63. func (p *exchangeGoodsConfig) ContainID(id int32) bool {
  64. _, found := p.idUniMaps[id]
  65. return found
  66. }