| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- // Code generated by excel export. DO NOT EDIT.
- package data
- import (
- "f1-game/internal/enum"
- "f1-game/internal/types"
- )
- var MapBuild = &mapBuildConfig{}
- func init() {
- _allList = append(_allList, MapBuild)
- }
- type (
- MapBuildRow struct {
- ConfigID int32 `json:"ConfigID"` // 建筑配置ID
- BuildingCategory int32 `json:"BuildingCategory"` // 建筑大类
- BuildCost types.Assets `json:"BuildCost"` // 建造消耗
- BuildTime int64 `json:"BuildTime"` // 建造时间
- ProtectTime int64 `json:"ProtectTime"` // 保护时间
- InitBuildLimit int32 `json:"InitBuildLimit"` // 初始建造上限
- Durability int32 `json:"Durability"` // 耐久
- BuildingDurability int32 `json:"BuildingDurability"` // 建造中耐久
- CanOutsideConscript bool `json:"CanOutsideConscript"` // 可城外征兵
- Discardable bool `json:"Discardable"` // 可放弃
- DiscardTime int64 `json:"DiscardTime"` // 放弃时间
- DurabilityRecovery float64 `json:"DurabilityRecovery"` // 耐久回复
- GarrisonArmies types.Pair[int32, int] `json:"GarrisonArmies"` // 驻城部队
- GarrisonArmiesTroops int32 `json:"GarrisonArmiesTroops"` // 驻守部队兵力
- DefendArmy int32 `json:"DefendArmy"` // 守军部队
- DestroyType enum.DestroyType `json:"DestroyType"` // 攻破类型
- BuildType enum.BuildType `json:"BuildType"` // 建造类型
- PlaceRules types.Pair[int32, int] `json:"PlaceRules"` // 建造放置条件
- SortPriority int32 `json:"SortPriority"` // 排序优先级
- AreaRange int32 `json:"AreaRange"` // 领地半径
- CoverOddOffsets types.Points `json:"CoverOddOffsets"` // 占地奇数偏移
- CoverEvenOffsets types.Points `json:"CoverEvenOffsets"` // 占地偶数偏移
- SiegeOddOffsets types.Points `json:"SiegeOddOffsets"` // 攻城点奇数偏移
- SiegeEvenOffsets types.Points `json:"SiegeEvenOffsets"` // 攻城点偶数偏移
- AffectOddOffsets types.Points `json:"AffectOddOffsets"` // 领土范围奇数偏移
- AffectEvenOffsets types.Points `json:"AffectEvenOffsets"` // 领土范围偶数偏移
- AffectEdgeOddOffsets types.Points `json:"AffectEdgeOddOffsets"` // 领土范围外一圈奇数偏移
- AffectEdgeEvenOffsets types.Points `json:"AffectEdgeEvenOffsets"` // 领土范围外一圈偶数偏移
- }
- mapBuildConfig struct {
- baseConfig
- list []*MapBuildRow // all list
- configIDUniMaps map[int32]*MapBuildRow // key:configID
- }
- )
- func (p *mapBuildConfig) Name() string {
- return "map_build"
- }
- func (p *mapBuildConfig) Init() {
- p.configIDUniMaps = map[int32]*MapBuildRow{}
- }
- func (p *mapBuildConfig) OnLoad(maps interface{}, reload bool) (int, error) {
- if reload && p.denyLoad {
- return 0, nil
- }
- var list []*MapBuildRow
- if err := DecodeData(maps, &list); err != nil {
- return 0, err
- }
- p.list = list
- configIDUniMaps := map[int32]*MapBuildRow{}
- for _, row := range list {
- configIDUniMaps[row.ConfigID] = row
- }
- p.configIDUniMaps = configIDUniMaps
- return len(list), nil
- }
- // func (p *mapBuildConfig) OnAfterLoad(_ bool) {
- // }
- func (p *mapBuildConfig) List() []*MapBuildRow {
- return p.list
- }
- func (p *mapBuildConfig) GetByConfigID(configID int32) (*MapBuildRow, bool) {
- value, found := p.configIDUniMaps[configID]
- return value, found
- }
- func (p *mapBuildConfig) ContainConfigID(configID int32) bool {
- _, found := p.configIDUniMaps[configID]
- return found
- }
|