mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 14:22:26 +08:00
67 lines
1.9 KiB
Go
67 lines
1.9 KiB
Go
package config
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
|
|
"hk4e/gs/constant"
|
|
"hk4e/pkg/logger"
|
|
)
|
|
|
|
type AvatarSkillData struct {
|
|
Id int32 `json:"id"`
|
|
CdTime float64 `json:"cdTime"`
|
|
CostElemVal int32 `json:"costElemVal"`
|
|
MaxChargeNum int32 `json:"maxChargeNum"`
|
|
TriggerID int32 `json:"triggerID"`
|
|
IsAttackCameraLock bool `json:"isAttackCameraLock"`
|
|
ProudSkillGroupId int32 `json:"proudSkillGroupId"`
|
|
CostElemType string `json:"costElemType"`
|
|
LockWeightParams []float64 `json:"lockWeightParams"`
|
|
|
|
NameTextMapHash int64 `json:"nameTextMapHash"`
|
|
|
|
AbilityName string `json:"abilityName"`
|
|
LockShape string `json:"lockShape"`
|
|
GlobalValueKey string `json:"globalValueKey"`
|
|
|
|
// 计算属性
|
|
CostElemTypeX *constant.ElementTypeValue `json:"-"`
|
|
}
|
|
|
|
func (g *GameDataConfig) loadAvatarSkillData() {
|
|
g.AvatarSkillDataMap = make(map[int32]*AvatarSkillData)
|
|
fileNameList := []string{"AvatarSkillExcelConfigData.json"}
|
|
for _, fileName := range fileNameList {
|
|
fileData, err := os.ReadFile(g.excelBinPrefix + fileName)
|
|
if err != nil {
|
|
logger.Error("open file error: %v", err)
|
|
continue
|
|
}
|
|
list := make([]map[string]any, 0)
|
|
err = json.Unmarshal(fileData, &list)
|
|
if err != nil {
|
|
logger.Error("parse file error: %v", err)
|
|
continue
|
|
}
|
|
for _, v := range list {
|
|
i, err := json.Marshal(v)
|
|
if err != nil {
|
|
logger.Error("parse file error: %v", err)
|
|
continue
|
|
}
|
|
avatarSkillData := new(AvatarSkillData)
|
|
err = json.Unmarshal(i, avatarSkillData)
|
|
if err != nil {
|
|
logger.Error("parse file error: %v", err)
|
|
continue
|
|
}
|
|
g.AvatarSkillDataMap[avatarSkillData.Id] = avatarSkillData
|
|
}
|
|
}
|
|
logger.Info("load %v AvatarSkillData", len(g.AvatarSkillDataMap))
|
|
for _, v := range g.AvatarSkillDataMap {
|
|
v.CostElemTypeX = constant.ElementTypeConst.STRING_MAP[v.CostElemType]
|
|
}
|
|
}
|