// Code generated by excel export. DO NOT EDIT. package data import ( "f1-game/internal/types" ) var MapCastle = &mapCastleConfig{} func init() { _allList = append(_allList, MapCastle) } type ( MapCastleRow struct { ConfigID int32 `json:"ConfigID"` // 城池配置ID MapID int32 `json:"MapID"` // 地图ID CitySubType int32 `json:"CitySubType"` // 城池子类型 Level int32 `json:"Level"` // 等级 GarrisonArmies types.Pair[int32, int] `json:"GarrisonArmies"` // 驻城部队 GarrisonArmiesTroops int32 `json:"GarrisonArmiesTroops"` // 驻守部队兵力 TransferNum int32 `json:"TransferNum"` // 调动数量 CanOutsideConscript bool `json:"CanOutsideConscript"` // 可城外征兵 DefendArmy int32 `json:"DefendArmy"` // 守军部队 Durability int32 `json:"Durability"` // 耐久 HasSiegeRank bool `json:"HasSiegeRank"` // 是否有攻城排行 HasSiegeReward bool `json:"HasSiegeReward"` // 是否有攻城奖励 JoinRewards types.Assets `json:"JoinRewards"` // 参与奖励 OccupyRewards types.Assets `json:"OccupyRewards"` // 占领奖励 SupremacyScore int32 `json:"SupremacyScore"` // 霸业积分 LeagueResYield int64 `json:"LeagueResYield"` // 全盟资源产量 BaggageNum int32 `json:"BaggageNum"` // 辎重数量 SealTime int64 `json:"SealTime"` // 封印时间 CoverOddOffsets types.Points `json:"CoverOddOffsets"` // 占地奇数偏移 CoverEvenOffsets types.Points `json:"CoverEvenOffsets"` // 占地偶数偏移 AffectOddOffsets types.Points `json:"AffectOddOffsets"` // 领土奇数偏移 AffectEvenOffsets types.Points `json:"AffectEvenOffsets"` // 领土偶数偏移 AffectEdgeOddOffsets types.Points `json:"AffectEdgeOddOffsets"` // 领土外围一圈奇数偏移 AffectEdgeEvenOffsets types.Points `json:"AffectEdgeEvenOffsets"` // 领土外围一圈偶数偏移 SiegeOddOffsets types.Points `json:"SiegeOddOffsets"` // 攻城点奇数偏移 SiegeEvenOffsets types.Points `json:"SiegeEvenOffsets"` // 攻城点偶数偏移 } mapCastleConfig struct { baseConfig list []*MapCastleRow // all list configIDUniMaps map[int32]*MapCastleRow // key:configID } ) func (p *mapCastleConfig) Name() string { return "map_castle" } func (p *mapCastleConfig) Init() { p.configIDUniMaps = map[int32]*MapCastleRow{} } func (p *mapCastleConfig) OnLoad(maps interface{}, reload bool) (int, error) { if reload && p.denyLoad { return 0, nil } var list []*MapCastleRow if err := DecodeData(maps, &list); err != nil { return 0, err } p.list = list configIDUniMaps := map[int32]*MapCastleRow{} for _, row := range list { configIDUniMaps[row.ConfigID] = row } p.configIDUniMaps = configIDUniMaps return len(list), nil } // func (p *mapCastleConfig) OnAfterLoad(_ bool) { // } func (p *mapCastleConfig) List() []*MapCastleRow { return p.list } func (p *mapCastleConfig) GetByConfigID(configID int32) (*MapCastleRow, bool) { value, found := p.configIDUniMaps[configID] return value, found } func (p *mapCastleConfig) ContainConfigID(configID int32) bool { _, found := p.configIDUniMaps[configID] return found }