世界怪物、NPC、装置等场景实体读取lua配置生成,实现AOI九宫格动态加载

This commit is contained in:
flswld
2023-01-15 05:30:49 +08:00
parent cd9ec6f55c
commit e3a2e0550e
20 changed files with 2133 additions and 219 deletions

30
gdconf/scene_data.go Normal file
View File

@@ -0,0 +1,30 @@
package gdconf
import (
"fmt"
"hk4e/pkg/logger"
"github.com/jszwec/csvutil"
)
type SceneData struct {
SceneId int32 `csv:"SceneId"` // ID
SceneType int32 `csv:"SceneType,omitempty"` // 类型
}
func (g *GameDataConfig) loadSceneData() {
g.SceneDataMap = make(map[int32]*SceneData)
data := g.readCsvFileData("SceneData.csv")
var sceneDataList []*SceneData
err := csvutil.Unmarshal(data, &sceneDataList)
if err != nil {
info := fmt.Sprintf("parse file error: %v", err)
panic(info)
}
for _, sceneData := range sceneDataList {
// list -> map
g.SceneDataMap[sceneData.SceneId] = sceneData
}
logger.Info("SceneData count: %v", len(g.SceneDataMap))
}