mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 18:12:27 +08:00
54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
package gdconf
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"hk4e/pkg/logger"
|
|
|
|
"github.com/jszwec/csvutil"
|
|
)
|
|
|
|
// FetterData 角色资料解锁配置表
|
|
type FetterData struct {
|
|
FetterId int32 `csv:"FetterId"` // ID
|
|
AvatarId int32 `csv:"AvatarId"` // 角色ID
|
|
}
|
|
|
|
func (g *GameDataConfig) loadFetterData() {
|
|
g.FetterDataMap = make(map[int32]*FetterData)
|
|
g.FetterDataAvatarIdMap = make(map[int32][]int32)
|
|
fileNameList := []string{"FettersData.csv", "FetterDataStory.csv", "FetterDataIformation.csv", "PhotographExpressionName.csv", "PhotographPoseName.csv"}
|
|
for _, fileName := range fileNameList {
|
|
data := g.readCsvFileData(fileName)
|
|
var fetterDataList []*FetterData
|
|
err := csvutil.Unmarshal(data, &fetterDataList)
|
|
if err != nil {
|
|
info := fmt.Sprintf("parse file error: %v", err)
|
|
panic(info)
|
|
}
|
|
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
|
|
}
|