简化配置表读取

This commit is contained in:
flswld
2023-03-16 16:26:14 +08:00
parent 2a3ce25898
commit 5e5492943d
51 changed files with 418 additions and 2560 deletions

View File

@@ -1,32 +1,23 @@
package gdconf
import (
"fmt"
"hk4e/pkg/logger"
"github.com/jszwec/csvutil"
)
// AvatarSkillData 角色技能配置表
type AvatarSkillData struct {
AvatarSkillId int32 `csv:"AvatarSkillId"` // ID
AbilityName string `csv:"AbilityName,omitempty"` // Ability名称
AvatarSkillId int32 `csv:"ID"`
AbilityName string `csv:"Ability名称,omitempty"`
// TODO 这个字段实际上并不是拿来直接扣体力的 体力应该由ability来做 但是现在我捋不清所以摆烂了 改了一下表暂时先这么用着
CostStamina int32 `csv:"CostStamina,omitempty"` // 消耗体力
CostElemType int32 `csv:"CostElemType,omitempty"` // 消耗能量类型
CostElemVal int32 `csv:"CostElemVal,omitempty"` // 消耗能量值
CostStamina int32 `csv:"消耗体力,omitempty"`
CostElemType int32 `csv:"消耗能量类型,omitempty"`
CostElemVal int32 `csv:"消耗能量值,omitempty"`
}
func (g *GameDataConfig) loadAvatarSkillData() {
g.AvatarSkillDataMap = make(map[int32]*AvatarSkillData)
data := g.readCsvFileData("AvatarSkillData.csv")
var avatarSkillDataList []*AvatarSkillData
err := csvutil.Unmarshal(data, &avatarSkillDataList)
if err != nil {
info := fmt.Sprintf("parse file error: %v", err)
panic(info)
}
avatarSkillDataList := make([]*AvatarSkillData, 0)
readTable[AvatarSkillData](g.tablePrefix+"AvatarSkillData.txt", &avatarSkillDataList)
for _, avatarSkillData := range avatarSkillDataList {
// list -> map
g.AvatarSkillDataMap[avatarSkillData.AvatarSkillId] = avatarSkillData