mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-03-01 00:35:36 +08:00
简化配置表读取
This commit is contained in:
@@ -1,41 +1,32 @@
|
||||
package gdconf
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"hk4e/pkg/logger"
|
||||
|
||||
"github.com/jszwec/csvutil"
|
||||
)
|
||||
|
||||
// AvatarPromoteData 角色突破配置表
|
||||
type AvatarPromoteData struct {
|
||||
PromoteId int32 `csv:"PromoteId"` // 角色突破ID
|
||||
PromoteLevel int32 `csv:"PromoteLevel,omitempty"` // 突破等级
|
||||
CostCoin int32 `csv:"CostCoin,omitempty"` // 消耗金币
|
||||
CostItemId1 int32 `csv:"CostItemId1,omitempty"` // [消耗物品]1ID
|
||||
CostItemCount1 int32 `csv:"CostItemCount1,omitempty"` // [消耗物品]1数量
|
||||
CostItemId2 int32 `csv:"CostItemId2,omitempty"` // [消耗物品]2ID
|
||||
CostItemCount2 int32 `csv:"CostItemCount2,omitempty"` // [消耗物品]2数量
|
||||
CostItemId3 int32 `csv:"CostItemId3,omitempty"` // [消耗物品]3ID
|
||||
CostItemCount3 int32 `csv:"CostItemCount3,omitempty"` // [消耗物品]3数量
|
||||
CostItemId4 int32 `csv:"CostItemId4,omitempty"` // [消耗物品]4ID
|
||||
CostItemCount4 int32 `csv:"CostItemCount4,omitempty"` // [消耗物品]4数量
|
||||
LevelLimit int32 `csv:"LevelLimit,omitempty"` // 解锁等级上限
|
||||
MinPlayerLevel int32 `csv:"MinPlayerLevel,omitempty"` // 冒险等级要求
|
||||
PromoteId int32 `csv:"角色突破ID"`
|
||||
PromoteLevel int32 `csv:"突破等级,omitempty"`
|
||||
CostCoin int32 `csv:"消耗金币,omitempty"`
|
||||
CostItemId1 int32 `csv:"[消耗物品]1ID,omitempty"`
|
||||
CostItemCount1 int32 `csv:"[消耗物品]1数量,omitempty"`
|
||||
CostItemId2 int32 `csv:"[消耗物品]2ID,omitempty"`
|
||||
CostItemCount2 int32 `csv:"[消耗物品]2数量,omitempty"`
|
||||
CostItemId3 int32 `csv:"[消耗物品]3ID,omitempty"`
|
||||
CostItemCount3 int32 `csv:"[消耗物品]3数量,omitempty"`
|
||||
CostItemId4 int32 `csv:"[消耗物品]4ID,omitempty"`
|
||||
CostItemCount4 int32 `csv:"[消耗物品]4数量,omitempty"`
|
||||
LevelLimit int32 `csv:"解锁等级上限,omitempty"`
|
||||
MinPlayerLevel int32 `csv:"冒险等级要求,omitempty"`
|
||||
|
||||
CostItemMap map[uint32]uint32 // 消耗物品列表
|
||||
}
|
||||
|
||||
func (g *GameDataConfig) loadAvatarPromoteData() {
|
||||
g.AvatarPromoteDataMap = make(map[int32]map[int32]*AvatarPromoteData)
|
||||
data := g.readCsvFileData("AvatarPromoteData.csv")
|
||||
var avatarPromoteDataList []*AvatarPromoteData
|
||||
err := csvutil.Unmarshal(data, &avatarPromoteDataList)
|
||||
if err != nil {
|
||||
info := fmt.Sprintf("parse file error: %v", err)
|
||||
panic(info)
|
||||
}
|
||||
avatarPromoteDataList := make([]*AvatarPromoteData, 0)
|
||||
readTable[AvatarPromoteData](g.tablePrefix+"AvatarPromoteData.txt", &avatarPromoteDataList)
|
||||
for _, avatarPromoteData := range avatarPromoteDataList {
|
||||
// list -> map
|
||||
_, ok := g.AvatarPromoteDataMap[avatarPromoteData.PromoteId]
|
||||
|
||||
Reference in New Issue
Block a user