// Code generated by excel export. DO NOT EDIT. package data import ( "f1-game/internal/types" ) var SkillLevel = &skillLevelConfig{} func init() { _allList = append(_allList, SkillLevel) } type ( SkillLevelRow struct { SkillID int32 `json:"SkillID"` // ID Level int32 `json:"Level"` // 等级 UnlockStar int32 `json:"UnlockStar"` // 解锁英雄星级 UpgradeCost types.Assets `json:"UpgradeCost"` // 升到下一级消耗 } skillLevelConfig struct { baseConfig list []*SkillLevelRow // all list skillIDLevelUniMaps map[int32]map[int32]*SkillLevelRow // key:skillID, level } ) func (p *skillLevelConfig) Name() string { return "skill_level" } func (p *skillLevelConfig) Init() { p.skillIDLevelUniMaps = map[int32]map[int32]*SkillLevelRow{} } func (p *skillLevelConfig) OnLoad(maps interface{}, reload bool) (int, error) { if reload && p.denyLoad { return 0, nil } var list []*SkillLevelRow if err := DecodeData(maps, &list); err != nil { return 0, err } p.list = list skillIDLevelUniMaps := map[int32]map[int32]*SkillLevelRow{} for _, row := range list { itemMap := skillIDLevelUniMaps[row.SkillID] if itemMap == nil { itemMap = map[int32]*SkillLevelRow{} skillIDLevelUniMaps[row.SkillID] = itemMap } itemMap[row.Level] = row } p.skillIDLevelUniMaps = skillIDLevelUniMaps return len(list), nil } // func (p *skillLevelConfig) OnAfterLoad(_ bool) { // } func (p *skillLevelConfig) List() []*SkillLevelRow { return p.list } func (p *skillLevelConfig) GetBySkillIDLevel(skillID int32, level int32) (*SkillLevelRow, bool) { mapItem, found := p.skillIDLevelUniMaps[skillID] if !found { return nil, false } value, found := mapItem[level] return value, found } func (p *skillLevelConfig) ContainSkillIDLevel(skillID int32, level int32) bool { mapItem, found := p.skillIDLevelUniMaps[skillID] if !found { return false } _, found = mapItem[level] return found }