游戏节点配置嵌入在一个配置文件中
This commit is contained in:
@@ -3,7 +3,7 @@ package play
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"game-driver/config"
|
||||
"game-driver/config/game"
|
||||
"game-driver/internal/middleware"
|
||||
"game-driver/internal/routes/play/card_pusher"
|
||||
"game-driver/internal/schema"
|
||||
@@ -24,8 +24,10 @@ type ResponseBody struct {
|
||||
}
|
||||
|
||||
func PushCard(ctx context.Context) leaf.HandlerFunc {
|
||||
g := (game.G).(game.ConfigPush)
|
||||
|
||||
devices := make([]*card_pusher.Device, 0)
|
||||
for _, group := range config.C.Game.CardGroups {
|
||||
for _, group := range g.CardGroups {
|
||||
gv, _ := json.Marshal(group)
|
||||
zap.S().Info("发卡器指针:", string(gv))
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ package play
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"game-driver/config/game"
|
||||
"game-driver/internal/middleware"
|
||||
"game-driver/internal/schema"
|
||||
"game-driver/leaf"
|
||||
@@ -9,14 +11,22 @@ import (
|
||||
"game-driver/pkg/channel"
|
||||
"game-driver/pkg/tts"
|
||||
"go.uber.org/zap"
|
||||
"io/fs"
|
||||
"os"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
func WaitCard(ctx context.Context) leaf.HandlerFunc {
|
||||
reader, err := card_reader.NewReader("rtu:///dev/ttyUSB0")
|
||||
g := (game.G).(game.ConfigWait)
|
||||
|
||||
reader, err := card_reader.NewReader(g.URL)
|
||||
if err != nil {
|
||||
zap.S().Panicln("读卡器串口连接失败", err)
|
||||
if errors.Is(err, fs.ErrNotExist) {
|
||||
zap.S().Errorf("读卡器串口文件不存在: %s", g.URL)
|
||||
os.Exit(1)
|
||||
}
|
||||
zap.S().Panicf("读卡器串口连接失败 [%T]: %q", err, err)
|
||||
}
|
||||
go func() {
|
||||
<-ctx.Done()
|
||||
@@ -99,7 +109,7 @@ func WaitCard(ctx context.Context) leaf.HandlerFunc {
|
||||
}
|
||||
// 播报恭喜语音
|
||||
tts.DefaultTTS.Sound(cardOk)
|
||||
//TODO: 打开炫酷光效
|
||||
//TODO: 打开炫酷光效,屏幕跳转恭喜页面
|
||||
zap.S().Infof("读取到卡片数据%q,开始打开炫酷光效", id)
|
||||
Default(c)
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ func Run() {
|
||||
middleware.EmergencyStop(common.GlobalStopper),
|
||||
middleware.SoundStart(),
|
||||
middleware.RelayMaster(nil),
|
||||
middleware.TimeoutOver(config.C.Game.MaxTimeout),
|
||||
middleware.TimeoutOver(config.C.MaxTimeout),
|
||||
middleware.TickerAction(),
|
||||
middleware.PlayBgm(),
|
||||
routes.PlayRouter(ctx, config.C.Location, config.C.Point),
|
||||
|
||||
Reference in New Issue
Block a user