完善场景物件交互协议

This commit is contained in:
flswld
2023-03-28 15:59:53 +08:00
parent e71d581e8b
commit ddf8700c33
8 changed files with 215 additions and 34 deletions

46
gdconf/gadget_data.go Normal file
View File

@@ -0,0 +1,46 @@
package gdconf
import (
"hk4e/pkg/logger"
)
// GadgetData 物件配置表
type GadgetData struct {
GadgetId int32 `csv:"ID"`
Type int32 `csv:"类型,omitempty"`
DefaultCamp int32 `csv:"默认阵营,omitempty"`
CanInteract int32 `csv:"能否交互,omitempty"`
Desc string `csv:"描述,omitempty"`
}
func (g *GameDataConfig) loadGadgetData() {
g.GadgetDataMap = make(map[int32]*GadgetData)
fileNameList := []string{
"GadgetData_AbilitySpecial.txt",
"GadgetData_Affix.txt",
"GadgetData_Avatar.txt",
"GadgetData_Equip.txt",
"GadgetData_FishingRod.txt",
"GadgetData_Homeworld.txt",
"GadgetData_Level.txt",
"GadgetData_Monster.txt",
"GadgetData_Quest.txt",
"GadgetData_Vehicle.txt",
}
for _, fileName := range fileNameList {
gadgetDataList := make([]*GadgetData, 0)
readTable[GadgetData](g.txtPrefix+fileName, &gadgetDataList)
for _, gadgetData := range gadgetDataList {
g.GadgetDataMap[gadgetData.GadgetId] = gadgetData
}
}
logger.Info("GadgetData count: %v", len(g.GadgetDataMap))
}
func GetGadgetDataById(gadgetId int32) *GadgetData {
return CONF.GadgetDataMap[gadgetId]
}
func GetGadgetDataMap() map[int32]*GadgetData {
return CONF.GadgetDataMap
}

View File

@@ -63,6 +63,7 @@ type GameDataConfig struct {
MonsterDropDataMap map[string]map[int32]*MonsterDropData // 怪物掉落
ChestDropDataMap map[string]map[int32]*ChestDropData // 宝箱掉落
DungeonDataMap map[int32]*DungeonData // 地牢
GadgetDataMap map[int32]*GadgetData // 物件
GCGCharDataMap map[int32]*GCGCharData // 七圣召唤角色卡牌
GCGSkillDataMap map[int32]*GCGSkillData // 七圣召唤卡牌技能
GachaDropGroupDataMap map[int32]*GachaDropGroupData // 卡池掉落组 临时的
@@ -162,6 +163,7 @@ func (g *GameDataConfig) load() {
g.loadMonsterDropData() // 怪物掉落
g.loadChestDropData() // 宝箱掉落
g.loadDungeonData() // 地牢
g.loadGadgetData() // 物件
g.loadGCGCharData() // 七圣召唤角色卡牌
g.loadGCGSkillData() // 七圣召唤卡牌技能
g.loadGachaDropGroupData() // 卡池掉落组 临时的