mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 15:42:25 +08:00
53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package gdconf
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"hk4e/pkg/logger"
|
|
|
|
"github.com/jszwec/csvutil"
|
|
)
|
|
|
|
// AvatarCostumeData 角色时装配置表
|
|
type AvatarCostumeData struct {
|
|
CostumeID int32 `csv:"CostumeID"` // 时装ID
|
|
ItemID int32 `csv:"ItemID,omitempty"` // 道具ID
|
|
}
|
|
|
|
func (g *GameDataConfig) loadAvatarCostumeData() {
|
|
g.AvatarCostumeDataMap = make(map[int32]*AvatarCostumeData)
|
|
data := g.readCsvFileData("AvatarCostumeData.csv")
|
|
var avatarCostumeDataList []*AvatarCostumeData
|
|
err := csvutil.Unmarshal(data, &avatarCostumeDataList)
|
|
if err != nil {
|
|
info := fmt.Sprintf("parse file error: %v", err)
|
|
panic(info)
|
|
}
|
|
for _, avatarCostumeData := range avatarCostumeDataList {
|
|
// 屏蔽默认时装
|
|
if avatarCostumeData.ItemID == 0 {
|
|
continue
|
|
}
|
|
// list -> map
|
|
g.AvatarCostumeDataMap[avatarCostumeData.CostumeID] = avatarCostumeData
|
|
}
|
|
logger.Info("AvatarCostumeData count: %v", len(g.AvatarCostumeDataMap))
|
|
}
|
|
|
|
func GetAvatarCostumeDataById(costumeId int32) *AvatarCostumeData {
|
|
return CONF.AvatarCostumeDataMap[costumeId]
|
|
}
|
|
|
|
func GetAvatarCostumeDataByItemId(itemId int32) *AvatarCostumeData {
|
|
for _, data := range CONF.AvatarCostumeDataMap {
|
|
if data.ItemID == itemId {
|
|
return data
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func GetAvatarCostumeDataMap() map[int32]*AvatarCostumeData {
|
|
return CONF.AvatarCostumeDataMap
|
|
}
|