简化配置表读取

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,39 +1,30 @@
package gdconf
import (
"fmt"
"hk4e/pkg/logger"
"github.com/jszwec/csvutil"
)
// WeaponPromoteData 武器突破配置表
type WeaponPromoteData struct {
PromoteId int32 `csv:"PromoteId"` // 武器突破ID
PromoteLevel int32 `csv:"PromoteLevel,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数量
CostCoin int32 `csv:"CostCoin,omitempty"` // 突破消耗金币
LevelLimit int32 `csv:"LevelLimit,omitempty"` // 突破后解锁等级上限
MinPlayerLevel int32 `csv:"MinPlayerLevel,omitempty"` // 冒险等级要求
PromoteId int32 `csv:"武器突破ID"`
PromoteLevel 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"`
CostCoin int32 `csv:"突破消耗金币,omitempty"`
LevelLimit int32 `csv:"突破后解锁等级上限,omitempty"`
MinPlayerLevel int32 `csv:"冒险等级要求,omitempty"`
CostItemMap map[uint32]uint32 // 消耗物品列表
}
func (g *GameDataConfig) loadWeaponPromoteData() {
g.WeaponPromoteDataMap = make(map[int32]map[int32]*WeaponPromoteData)
data := g.readCsvFileData("WeaponPromoteData.csv")
var weaponPromoteDataList []*WeaponPromoteData
err := csvutil.Unmarshal(data, &weaponPromoteDataList)
if err != nil {
info := fmt.Sprintf("parse file error: %v", err)
panic(info)
}
weaponPromoteDataList := make([]*WeaponPromoteData, 0)
readTable[WeaponPromoteData](g.tablePrefix+"WeaponPromoteData.txt", &weaponPromoteDataList)
for _, weaponPromoteData := range weaponPromoteDataList {
// list -> map
_, ok := g.WeaponPromoteDataMap[weaponPromoteData.PromoteId]