mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-17 06:12:26 +08:00
世界怪物、NPC、装置等场景实体读取lua配置生成,实现AOI九宫格动态加载
This commit is contained in:
30
gdconf/scene_data.go
Normal file
30
gdconf/scene_data.go
Normal 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))
|
||||
}
|
||||
Reference in New Issue
Block a user