Files
hk4e/gdconf/fetter_data.go
2023-03-16 16:26:14 +08:00

45 lines
1.3 KiB
Go

package gdconf
import (
"hk4e/pkg/logger"
)
// FetterData 角色资料解锁配置表
type FetterData struct {
FetterId int32 `csv:"ID"`
AvatarId int32 `csv:"角色ID"`
}
func (g *GameDataConfig) loadFetterData() {
g.FetterDataMap = make(map[int32]*FetterData)
g.FetterDataAvatarIdMap = make(map[int32][]int32)
fileNameList := []string{"FettersData.txt", "FetterDataStory.txt", "FetterDataIformation.txt", "PhotographExpressionName.txt", "PhotographPoseName.txt"}
for _, fileName := range fileNameList {
fetterDataList := make([]*FetterData, 0)
readTable[FetterData](g.tablePrefix+fileName, &fetterDataList)
for _, fetterData := range fetterDataList {
// list -> map
g.FetterDataMap[fetterData.FetterId] = fetterData
fetterIdList := g.FetterDataAvatarIdMap[fetterData.AvatarId]
if fetterIdList == nil {
fetterIdList = make([]int32, 0)
}
fetterIdList = append(fetterIdList, fetterData.FetterId)
g.FetterDataAvatarIdMap[fetterData.AvatarId] = fetterIdList
}
}
logger.Info("FetterData count: %v", len(g.FetterDataMap))
}
func GetFetterDataByFetterId(fetterId int32) *FetterData {
return CONF.FetterDataMap[fetterId]
}
func GetFetterIdListByAvatarId(avatarId int32) []int32 {
return CONF.FetterDataAvatarIdMap[avatarId]
}
func GetFetterDataMap() map[int32]*FetterData {
return CONF.FetterDataMap
}