Files
hk4e/gdconf/avatar_costume_data.go
UnKownOwO 804e0dfc1a 时装、风之翼读表,give命令更新
修复了角色替换圣遗物异常的问题
2023-02-14 21:27:27 +08:00

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
}