// Code generated by excel export. DO NOT EDIT. package data import ( "f1-game/internal/types" ) var SignIn = &signInConfig{} func init() { _allList = append(_allList, SignIn) } type ( SignInRow struct { PoolID int32 `json:"PoolID"` // 库ID Days int32 `json:"Days"` // 天数 Rewards types.Assets `json:"Rewards"` // 奖励 } signInConfig struct { baseConfig list []*SignInRow // all list poolIDListMaps map[int32][]*SignInRow // key:poolID poolIDDaysUniMaps map[int32]map[int32]*SignInRow // key:poolID, days } ) func (p *signInConfig) Name() string { return "sign_in" } func (p *signInConfig) Init() { p.poolIDListMaps = map[int32][]*SignInRow{} p.poolIDDaysUniMaps = map[int32]map[int32]*SignInRow{} } func (p *signInConfig) OnLoad(maps interface{}, reload bool) (int, error) { if reload && p.denyLoad { return 0, nil } var list []*SignInRow if err := DecodeData(maps, &list); err != nil { return 0, err } p.list = list poolIDListMaps := map[int32][]*SignInRow{} for _, row := range list { poolIDListMaps[row.PoolID] = append(poolIDListMaps[row.PoolID], row) } p.poolIDListMaps = poolIDListMaps poolIDDaysUniMaps := map[int32]map[int32]*SignInRow{} for _, row := range list { itemMap := poolIDDaysUniMaps[row.PoolID] if itemMap == nil { itemMap = map[int32]*SignInRow{} poolIDDaysUniMaps[row.PoolID] = itemMap } itemMap[row.Days] = row } p.poolIDDaysUniMaps = poolIDDaysUniMaps return len(list), nil } // func (p *signInConfig) OnAfterLoad(_ bool) { // } func (p *signInConfig) List() []*SignInRow { return p.list } func (p *signInConfig) ListByPoolID(poolID int32) ([]*SignInRow, bool) { value, found := p.poolIDListMaps[poolID] return value, found } func (p *signInConfig) ListContainPoolID(poolID int32) bool { _, found := p.poolIDListMaps[poolID] return found } func (p *signInConfig) GetByPoolIDDays(poolID int32, days int32) (*SignInRow, bool) { mapItem, found := p.poolIDDaysUniMaps[poolID] if !found { return nil, false } value, found := mapItem[days] return value, found } func (p *signInConfig) ContainPoolIDDays(poolID int32, days int32) bool { mapItem, found := p.poolIDDaysUniMaps[poolID] if !found { return false } _, found = mapItem[days] return found }