配置导出工具优化及示例

This commit is contained in:
kercylan98
2023-05-19 14:08:10 +08:00
parent defeac306a
commit 3f36a3cddc
7 changed files with 108 additions and 18 deletions

View File

@@ -39,7 +39,7 @@ func (slf *ConfigExport) ExportClient(prefix, outputDir string) {
if len(prefix) > 0 {
config.Prefix = fmt.Sprintf("%s.", prefix)
}
if err := file.WriterFile(filepath.Join(outputDir, fmt.Sprintf("%s.%s.json", prefix, config.Name)), config.JsonClient()); err != nil {
if err := file.WriterFile(filepath.Join(outputDir, fmt.Sprintf("%s%s.json", prefix, config.Name)), config.JsonClient()); err != nil {
panic(err)
}
}
@@ -51,7 +51,7 @@ func (slf *ConfigExport) ExportServer(prefix, outputDir string) {
if len(prefix) > 0 {
config.Prefix = fmt.Sprintf("%s.", prefix)
}
if err := file.WriterFile(filepath.Join(outputDir, fmt.Sprintf("%s.%s.json", prefix, config.Name)), config.JsonServer()); err != nil {
if err := file.WriterFile(filepath.Join(outputDir, fmt.Sprintf("%s%s.json", prefix, config.Name)), config.JsonServer()); err != nil {
panic(err)
}
}

View File

@@ -9,29 +9,29 @@ import (
var json = jsonIter.ConfigCompatibleWithStandardLibrary
var (
GameIndexConfig map[int]map[string]*IndexConfig
gameIndexConfig map[int]map[string]*IndexConfig
GameEasyConfig *EasyConfig
gameEasyConfig *EasyConfig
IIndexConfig map[int]map[string]*IndexConfig
iIndexConfig map[int]map[string]*IndexConfig
IEasyConfig *EasyConfig
iEasyConfig *EasyConfig
)
func LoadConfig(handle func(filename string, config any) error) {
var err error
gameIndexConfig = make(map[int]map[string]*IndexConfig)
if err = handle("server.IndexConfig.json", &gameIndexConfig); err != nil {
iIndexConfig = make(map[int]map[string]*IndexConfig)
if err = handle("server.IndexConfig.json", &iIndexConfig); err != nil {
log.Error("Config", zap.String("Name", "IndexConfig"), zap.Bool("Invalid", true), zap.Error(err))
}
gameEasyConfig = new(EasyConfig)
if err = handle("server.EasyConfig.json", gameEasyConfig); err != nil {
iEasyConfig = new(EasyConfig)
if err = handle("server.EasyConfig.json", iEasyConfig); err != nil {
log.Error("Config", zap.String("Name", "EasyConfig"), zap.Bool("Invalid", true), zap.Error(err))
}
}
func Refresh() {
GameIndexConfig = gameIndexConfig
GameEasyConfig = gameEasyConfig
IIndexConfig = iIndexConfig
IEasyConfig = iEasyConfig
}
func DefaultLoad(filepath string) {

View File

@@ -37,21 +37,21 @@ var json = jsonIter.ConfigCompatibleWithStandardLibrary
var (
{{range $index, $config := .Configs}}
Game{{$config.Name}} {{$config.GetVariable}}
game{{$config.Name}} {{$config.GetVariable}}
I{{$config.Name}} {{$config.GetVariable}}
i{{$config.Name}} {{$config.GetVariable}}
{{end}}
)
func LoadConfig(handle func(filename string, config any) error) {
var err error
{{range $index, $config := .Configs}}
game{{$config.Name}} = {{$config.GetVariableGen}}
i{{$config.Name}} = {{$config.GetVariableGen}}
{{if eq $config.IndexCount 0}}
if err = handle("{{$config.Prefix}}{{$config.Name}}.json", game{{$config.Name}}); err != nil {
if err = handle("{{$config.Prefix}}{{$config.Name}}.json", i{{$config.Name}}); err != nil {
log.Error("Config", zap.String("Name", "{{$config.Name}}"), zap.Bool("Invalid", true), zap.Error(err))
}
{{else}}
if err = handle("{{$config.Prefix}}{{$config.Name}}.json", &game{{$config.Name}}); err != nil {
if err = handle("{{$config.Prefix}}{{$config.Name}}.json", &i{{$config.Name}}); err != nil {
log.Error("Config", zap.String("Name", "{{$config.Name}}"), zap.Bool("Invalid", true), zap.Error(err))
}
{{end}}
@@ -60,7 +60,7 @@ func LoadConfig(handle func(filename string, config any) error) {
func Refresh() {
{{range $index, $config := .Configs}}
Game{{$config.Name}} = game{{$config.Name}}
I{{$config.Name}} = i{{$config.Name}}
{{end}}
}