| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- // Code generated by excel export. DO NOT EDIT.
- package data
- import (
- "f1-game/internal/enum"
- "f1-game/internal/types"
- )
- var Quest = &questConfig{}
- func init() {
- _allList = append(_allList, Quest)
- }
- type (
- QuestRow struct {
- QuestGroupID int32 `json:"QuestGroupID"` // 任务组ID
- QuestID int32 `json:"QuestID"` // ID
- IsAccumulate bool `json:"IsAccumulate"` // 是否累计
- QuestType enum.QuestType `json:"QuestType"` // 任务类型
- QuestParams types.List[int32] `json:"QuestParams"` // 任务参数
- NextQuestID int32 `json:"NextQuestID"` // 下一个任务ID
- Rewards types.Assets `json:"Rewards"` // 奖励列表
- Disabled bool `json:"Disabled"` // 是否禁用
- }
- questConfig struct {
- baseConfig
- list []*QuestRow // all list
- questGroupIDListMaps map[int32][]*QuestRow // key:questGroupID
- questIDUniMaps map[int32]*QuestRow // key:questID
- questGroupIDQuestIDUniMaps map[int32]map[int32]*QuestRow // key:questGroupID, questID
- }
- )
- func (p *questConfig) Name() string {
- return "quest"
- }
- func (p *questConfig) Init() {
- p.questGroupIDListMaps = map[int32][]*QuestRow{}
- p.questIDUniMaps = map[int32]*QuestRow{}
- p.questGroupIDQuestIDUniMaps = map[int32]map[int32]*QuestRow{}
- }
- func (p *questConfig) OnLoad(maps interface{}, reload bool) (int, error) {
- if reload && p.denyLoad {
- return 0, nil
- }
- var list []*QuestRow
- if err := DecodeData(maps, &list); err != nil {
- return 0, err
- }
- p.list = list
- questGroupIDListMaps := map[int32][]*QuestRow{}
- for _, row := range list {
- questGroupIDListMaps[row.QuestGroupID] = append(questGroupIDListMaps[row.QuestGroupID], row)
- }
- p.questGroupIDListMaps = questGroupIDListMaps
- questIDUniMaps := map[int32]*QuestRow{}
- for _, row := range list {
- questIDUniMaps[row.QuestID] = row
- }
- p.questIDUniMaps = questIDUniMaps
- questGroupIDQuestIDUniMaps := map[int32]map[int32]*QuestRow{}
- for _, row := range list {
- itemMap := questGroupIDQuestIDUniMaps[row.QuestGroupID]
- if itemMap == nil {
- itemMap = map[int32]*QuestRow{}
- questGroupIDQuestIDUniMaps[row.QuestGroupID] = itemMap
- }
- itemMap[row.QuestID] = row
- }
- p.questGroupIDQuestIDUniMaps = questGroupIDQuestIDUniMaps
- return len(list), nil
- }
- // func (p *questConfig) OnAfterLoad(_ bool) {
- // }
- func (p *questConfig) List() []*QuestRow {
- return p.list
- }
- func (p *questConfig) ListByQuestGroupID(questGroupID int32) ([]*QuestRow, bool) {
- value, found := p.questGroupIDListMaps[questGroupID]
- return value, found
- }
- func (p *questConfig) ListContainQuestGroupID(questGroupID int32) bool {
- _, found := p.questGroupIDListMaps[questGroupID]
- return found
- }
- func (p *questConfig) GetByQuestID(questID int32) (*QuestRow, bool) {
- value, found := p.questIDUniMaps[questID]
- return value, found
- }
- func (p *questConfig) ContainQuestID(questID int32) bool {
- _, found := p.questIDUniMaps[questID]
- return found
- }
- func (p *questConfig) GetByQuestGroupIDQuestID(questGroupID int32, questID int32) (*QuestRow, bool) {
- mapItem, found := p.questGroupIDQuestIDUniMaps[questGroupID]
- if !found {
- return nil, false
- }
- value, found := mapItem[questID]
- return value, found
- }
- func (p *questConfig) ContainQuestGroupIDQuestID(questGroupID int32, questID int32) bool {
- mapItem, found := p.questGroupIDQuestIDUniMaps[questGroupID]
- if !found {
- return false
- }
- _, found = mapItem[questID]
- return found
- }
|