重构网关服务器

This commit is contained in:
flswld
2022-12-19 01:35:15 +08:00
parent d337799fd8
commit f773ba8df7
19 changed files with 686 additions and 1241 deletions

46
gdconf/drop_group_data.go Normal file
View File

@@ -0,0 +1,46 @@
package gdconf
import (
"github.com/jszwec/csvutil"
"hk4e/pkg/logger"
)
type Drop struct {
DropId int32 `csv:"DropId"`
Weight int32 `csv:"Weight"`
Result int32 `csv:"Result"`
IsEnd bool `csv:"IsEnd"`
}
type DropGroupData struct {
DropId int32
WeightAll int32
DropConfig []*Drop
}
func (g *GameDataConfig) loadDropGroupData() {
g.DropGroupDataMap = make(map[int32]*DropGroupData)
fileNameList := []string{"DropGachaAvatarUp.csv", "DropGachaWeaponUp.csv", "DropGachaNormal.csv"}
for _, fileName := range fileNameList {
data := g.readCsvFileData("ext/" + fileName)
var dropList []*Drop
err := csvutil.Unmarshal(data, &dropList)
if err != nil {
logger.LOG.Error("parse file error: %v", err)
return
}
for _, drop := range dropList {
dropGroupData, exist := g.DropGroupDataMap[drop.DropId]
if !exist {
dropGroupData = new(DropGroupData)
dropGroupData.DropId = drop.DropId
dropGroupData.WeightAll = 0
dropGroupData.DropConfig = make([]*Drop, 0)
g.DropGroupDataMap[drop.DropId] = dropGroupData
}
dropGroupData.WeightAll += drop.Weight
dropGroupData.DropConfig = append(dropGroupData.DropConfig, drop)
}
}
logger.LOG.Info("load %v DropGroupData", len(g.DropGroupDataMap))
}

View File

@@ -19,6 +19,7 @@ type GameDataConfig struct {
AvatarDataMap map[int32]*AvatarData // 角色
AvatarSkillDataMap map[int32]*AvatarSkillData // 角色技能
AvatarSkillDepotDataMap map[int32]*AvatarSkillDepotData // 角色技能库
DropGroupDataMap map[int32]*DropGroupData // 掉落组
}
func InitGameDataConfig() {
@@ -59,6 +60,7 @@ func (g *GameDataConfig) load() {
g.loadAvatarData() // 角色
g.loadAvatarSkillData() // 角色技能
g.loadAvatarSkillDepotData() // 角色技能库
g.loadDropGroupData() // 掉落组
}
func (g *GameDataConfig) readCsvFileData(fileName string) []byte {