map_castle.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. // Code generated by excel export. DO NOT EDIT.
  2. package data
  3. import (
  4. "f1-game/internal/types"
  5. )
  6. var MapCastle = &mapCastleConfig{}
  7. func init() {
  8. _allList = append(_allList, MapCastle)
  9. }
  10. type (
  11. MapCastleRow struct {
  12. ConfigID int32 `json:"ConfigID"` // 城池配置ID
  13. MapID int32 `json:"MapID"` // 地图ID
  14. CitySubType int32 `json:"CitySubType"` // 城池子类型
  15. Level int32 `json:"Level"` // 等级
  16. GarrisonArmies types.Pair[int32, int] `json:"GarrisonArmies"` // 驻城部队
  17. GarrisonArmiesTroops int32 `json:"GarrisonArmiesTroops"` // 驻守部队兵力
  18. TransferNum int32 `json:"TransferNum"` // 调动数量
  19. CanOutsideConscript bool `json:"CanOutsideConscript"` // 可城外征兵
  20. DefendArmy int32 `json:"DefendArmy"` // 守军部队
  21. Durability int32 `json:"Durability"` // 耐久
  22. HasSiegeRank bool `json:"HasSiegeRank"` // 是否有攻城排行
  23. HasSiegeReward bool `json:"HasSiegeReward"` // 是否有攻城奖励
  24. JoinRewards types.Assets `json:"JoinRewards"` // 参与奖励
  25. OccupyRewards types.Assets `json:"OccupyRewards"` // 占领奖励
  26. SupremacyScore int32 `json:"SupremacyScore"` // 霸业积分
  27. LeagueResYield int64 `json:"LeagueResYield"` // 全盟资源产量
  28. BaggageNum int32 `json:"BaggageNum"` // 辎重数量
  29. SealTime int64 `json:"SealTime"` // 封印时间
  30. CoverOddOffsets types.Points `json:"CoverOddOffsets"` // 占地奇数偏移
  31. CoverEvenOffsets types.Points `json:"CoverEvenOffsets"` // 占地偶数偏移
  32. AffectOddOffsets types.Points `json:"AffectOddOffsets"` // 领土奇数偏移
  33. AffectEvenOffsets types.Points `json:"AffectEvenOffsets"` // 领土偶数偏移
  34. AffectEdgeOddOffsets types.Points `json:"AffectEdgeOddOffsets"` // 领土外围一圈奇数偏移
  35. AffectEdgeEvenOffsets types.Points `json:"AffectEdgeEvenOffsets"` // 领土外围一圈偶数偏移
  36. SiegeOddOffsets types.Points `json:"SiegeOddOffsets"` // 攻城点奇数偏移
  37. SiegeEvenOffsets types.Points `json:"SiegeEvenOffsets"` // 攻城点偶数偏移
  38. }
  39. mapCastleConfig struct {
  40. baseConfig
  41. list []*MapCastleRow // all list
  42. configIDUniMaps map[int32]*MapCastleRow // key:configID
  43. }
  44. )
  45. func (p *mapCastleConfig) Name() string {
  46. return "map_castle"
  47. }
  48. func (p *mapCastleConfig) Init() {
  49. p.configIDUniMaps = map[int32]*MapCastleRow{}
  50. }
  51. func (p *mapCastleConfig) OnLoad(maps interface{}, reload bool) (int, error) {
  52. if reload && p.denyLoad {
  53. return 0, nil
  54. }
  55. var list []*MapCastleRow
  56. if err := DecodeData(maps, &list); err != nil {
  57. return 0, err
  58. }
  59. p.list = list
  60. configIDUniMaps := map[int32]*MapCastleRow{}
  61. for _, row := range list {
  62. configIDUniMaps[row.ConfigID] = row
  63. }
  64. p.configIDUniMaps = configIDUniMaps
  65. return len(list), nil
  66. }
  67. // func (p *mapCastleConfig) OnAfterLoad(_ bool) {
  68. // }
  69. func (p *mapCastleConfig) List() []*MapCastleRow {
  70. return p.list
  71. }
  72. func (p *mapCastleConfig) GetByConfigID(configID int32) (*MapCastleRow, bool) {
  73. value, found := p.configIDUniMaps[configID]
  74. return value, found
  75. }
  76. func (p *mapCastleConfig) ContainConfigID(configID int32) bool {
  77. _, found := p.configIDUniMaps[configID]
  78. return found
  79. }