简化配置表读取

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,11 +1,7 @@
package gdconf
import (
"fmt"
"hk4e/pkg/logger"
"github.com/jszwec/csvutil"
)
type QuestCond struct {
@@ -17,57 +13,57 @@ type QuestCond struct {
// QuestData 任务配置表
type QuestData struct {
QuestId int32 `csv:"QuestId"` // ID
ParentQuestId int32 `csv:"ParentQuestId,omitempty"` // 父任务ID
Sequence int32 `csv:"Sequence,omitempty"` // 序列
QuestId int32 `csv:"子任务ID"`
ParentQuestId int32 `csv:"父任务ID,omitempty"`
Sequence int32 `csv:"序列,omitempty"`
// 领取条件
AcceptCondCompose int32 `csv:"AcceptCondCompose,omitempty"` // [领取条件]组合
AcceptCondType1 int32 `csv:"AcceptCondType1,omitempty"` // [领取条件]1类型
AcceptCondType1Param1 int32 `csv:"AcceptCondType1Param1,omitempty"` // [领取条件]1参数1
AcceptCondType1Param2 int32 `csv:"AcceptCondType1Param2,omitempty"` // [领取条件]1参数2
AcceptCondType1Param3 int32 `csv:"AcceptCondType1Param3,omitempty"` // [领取条件]1参数3
AcceptCondType2 int32 `csv:"AcceptCondType2,omitempty"` // [领取条件]2类型
AcceptCondType2Param1 int32 `csv:"AcceptCondType2Param1,omitempty"` // [领取条件]2参数1
AcceptCondType2Param2 int32 `csv:"AcceptCondType2Param2,omitempty"` // [领取条件]2参数2
AcceptCondType2Param3 int32 `csv:"AcceptCondType2Param3,omitempty"` // [领取条件]2参数3
AcceptCondType3 int32 `csv:"AcceptCondType3,omitempty"` // [领取条件]3类型
AcceptCondType3Param1 int32 `csv:"AcceptCondType3Param1,omitempty"` // [领取条件]3参数1
AcceptCondType3Param2 int32 `csv:"AcceptCondType3Param2,omitempty"` // [领取条件]3参数2
AcceptCondType3Param3 int32 `csv:"AcceptCondType3Param3,omitempty"` // [领取条件]3参数3
AcceptCondCompose int32 `csv:"[领取条件]组合,omitempty"`
AcceptCondType1 int32 `csv:"[领取条件]1类型,omitempty"`
AcceptCondType1Param1 int32 `csv:"[领取条件]1参数1,omitempty"`
AcceptCondType1Param2 int32 `csv:"[领取条件]1参数2,omitempty"`
AcceptCondType1Param3 int32 `csv:"[领取条件]1参数3,omitempty"`
AcceptCondType2 int32 `csv:"[领取条件]2类型,omitempty"`
AcceptCondType2Param1 int32 `csv:"[领取条件]2参数1,omitempty"`
AcceptCondType2Param2 int32 `csv:"[领取条件]2参数2,omitempty"`
AcceptCondType2Param3 int32 `csv:"[领取条件]2参数3,omitempty"`
AcceptCondType3 int32 `csv:"[领取条件]3类型,omitempty"`
AcceptCondType3Param1 int32 `csv:"[领取条件]3参数1,omitempty"`
AcceptCondType3Param2 int32 `csv:"[领取条件]3参数2,omitempty"`
AcceptCondType3Param3 int32 `csv:"[领取条件]3参数3,omitempty"`
// 完成条件
FinishCondCompose int32 `csv:"FinishCondCompose,omitempty"` // [完成条件]组合
FinishCondType1 int32 `csv:"FinishCondType1,omitempty"` // [完成条件]1类型
FinishCondType1Param1 int32 `csv:"FinishCondType1Param1,omitempty"` // [完成条件]1参数1
FinishCondType1Param2 int32 `csv:"FinishCondType1Param2,omitempty"` // [完成条件]1参数2
FinishCondType1ComplexParam string `csv:"FinishCondType1ComplexParam,omitempty"` // [完成条件]1复杂参数
FinishCondType1Count int32 `csv:"FinishCondType1Count,omitempty"` // [完成条件]1次数
FinishCondType2 int32 `csv:"FinishCondType2,omitempty"` // [完成条件]2类型
FinishCondType2Param1 int32 `csv:"FinishCondType2Param1,omitempty"` // [完成条件]2参数1
FinishCondType2Param2 int32 `csv:"FinishCondType2Param2,omitempty"` // [完成条件]2参数2
FinishCondType2ComplexParam string `csv:"FinishCondType2ComplexParam,omitempty"` // [完成条件]2复杂参数
FinishCondType2Count int32 `csv:"FinishCondType2Count,omitempty"` // [完成条件]2次数
FinishCondType3 int32 `csv:"FinishCondType3,omitempty"` // [完成条件]3类型
FinishCondType3Param1 int32 `csv:"FinishCondType3Param1,omitempty"` // [完成条件]3参数1
FinishCondType3Param2 int32 `csv:"FinishCondType3Param2,omitempty"` // [完成条件]3参数2
FinishCondType3ComplexParam string `csv:"FinishCondType3ComplexParam,omitempty"` // [完成条件]3复杂参数
FinishCondType3Count int32 `csv:"FinishCondType3Count,omitempty"` // [完成条件]3次数
FinishCondCompose int32 `csv:"[完成条件]组合,omitempty"`
FinishCondType1 int32 `csv:"[完成条件]1类型,omitempty"`
FinishCondType1Param1 int32 `csv:"[完成条件]1参数1,omitempty"`
FinishCondType1Param2 int32 `csv:"[完成条件]1参数2,omitempty"`
FinishCondType1ComplexParam string `csv:"[完成条件]1复杂参数,omitempty"`
FinishCondType1Count int32 `csv:"[完成条件]1次数,omitempty"`
FinishCondType2 int32 `csv:"[完成条件]2类型,omitempty"`
FinishCondType2Param1 int32 `csv:"[完成条件]2参数1,omitempty"`
FinishCondType2Param2 int32 `csv:"[完成条件]2参数2,omitempty"`
FinishCondType2ComplexParam string `csv:"[完成条件]2复杂参数,omitempty"`
FinishCondType2Count int32 `csv:"[完成条件]2次数,omitempty"`
FinishCondType3 int32 `csv:"[完成条件]3类型,omitempty"`
FinishCondType3Param1 int32 `csv:"[完成条件]3参数1,omitempty"`
FinishCondType3Param2 int32 `csv:"[完成条件]3参数2,omitempty"`
FinishCondType3ComplexParam string `csv:"[完成条件]3复杂参数,omitempty"`
FinishCondType3Count int32 `csv:"[完成条件]3次数,omitempty"`
// 失败条件
FailCondCompose int32 `csv:"FailCondCompose,omitempty"` // [失败条件]组合
FailCondType1 int32 `csv:"FailCondType1,omitempty"` // [失败条件]1类型
FailCondType1Param1 int32 `csv:"FailCondType1Param1,omitempty"` // [失败条件]1参数1
FailCondType1Param2 int32 `csv:"FailCondType1Param2,omitempty"` // [失败条件]1参数2
FailCondType1ComplexParam string `csv:"FailCondType1ComplexParam,omitempty"` // [失败条件]1复杂参数
FailCondType1Count int32 `csv:"FailCondType1Count,omitempty"` // [失败条件]1次数
FailCondType2 int32 `csv:"FailCondType2,omitempty"` // [失败条件]2类型
FailCondType2Param1 int32 `csv:"FailCondType2Param1,omitempty"` // [失败条件]2参数1
FailCondType2Param2 int32 `csv:"FailCondType2Param2,omitempty"` // [失败条件]2参数2
FailCondType2ComplexParam string `csv:"FailCondType2ComplexParam,omitempty"` // [失败条件]2复杂参数
FailCondType2Count int32 `csv:"FailCondType2Count,omitempty"` // [失败条件]2次数
FailCondType3 int32 `csv:"FailCondType3,omitempty"` // [失败条件]3类型
FailCondType3Param1 int32 `csv:"FailCondType3Param1,omitempty"` // [失败条件]3参数1
FailCondType3Param2 int32 `csv:"FailCondType3Param2,omitempty"` // [失败条件]3参数2
FailCondType3ComplexParam string `csv:"FailCondType3ComplexParam,omitempty"` // [失败条件]3复杂参数
FailCondType3Count int32 `csv:"FailCondType3Count,omitempty"` // [失败条件]3次数
FailCondCompose int32 `csv:"[失败条件]组合,omitempty"`
FailCondType1 int32 `csv:"[失败条件]1类型,omitempty"`
FailCondType1Param1 int32 `csv:"[失败条件]1参数1,omitempty"`
FailCondType1Param2 int32 `csv:"[失败条件]1参数2,omitempty"`
FailCondType1ComplexParam string `csv:"[失败条件]1复杂参数,omitempty"`
FailCondType1Count int32 `csv:"[失败条件]1次数,omitempty"`
FailCondType2 int32 `csv:"[失败条件]2类型,omitempty"`
FailCondType2Param1 int32 `csv:"[失败条件]2参数1,omitempty"`
FailCondType2Param2 int32 `csv:"[失败条件]2参数2,omitempty"`
FailCondType2ComplexParam string `csv:"[失败条件]2复杂参数,omitempty"`
FailCondType2Count int32 `csv:"[失败条件]2次数,omitempty"`
FailCondType3 int32 `csv:"[失败条件]3类型,omitempty"`
FailCondType3Param1 int32 `csv:"[失败条件]3参数1,omitempty"`
FailCondType3Param2 int32 `csv:"[失败条件]3参数2,omitempty"`
FailCondType3ComplexParam string `csv:"[失败条件]3复杂参数,omitempty"`
FailCondType3Count int32 `csv:"[失败条件]3次数,omitempty"`
AcceptCondList []*QuestCond // 领取条件
FinishCondList []*QuestCond // 完成条件
@@ -76,15 +72,10 @@ type QuestData struct {
func (g *GameDataConfig) loadQuestData() {
g.QuestDataMap = make(map[int32]*QuestData)
fileNameList := []string{"QuestData.csv", "QuestData_Exported.csv"}
fileNameList := []string{"QuestData.txt", "QuestData_Exported.txt"}
for _, fileName := range fileNameList {
data := g.readCsvFileData(fileName)
var questDataList []*QuestData
err := csvutil.Unmarshal(data, &questDataList)
if err != nil {
info := fmt.Sprintf("parse file error: %v", err)
panic(info)
}
questDataList := make([]*QuestData, 0)
readTable[QuestData](g.tablePrefix+fileName, &questDataList)
for _, questData := range questDataList {
// list -> map
// 领取条件