| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package game
- import (
- "bet24.com/log"
- pb "bet24.com/servers/micros/audioroom/proto"
- "encoding/json"
- "fmt"
- )
- func Run() {
- getGameManager()
- }
- func Dump(param1, param2 string) {
- getGameManager().dump(param1, param2)
- }
- func StartGame(userId int, data string) string {
- retData := ""
- var req pb.Request_StartGame
- if err := json.Unmarshal([]byte(data), &req); err != nil {
- retData = fmt.Sprintf("user_audioroom.StartGame unmarshal fail %v", err)
- log.Release(retData)
- return retData
- }
- var ret pb.Response_StartGame
- info := getGameManager().getRoomInfo(req.RoomId)
- if info == nil {
- log.Error("game_main.StartGame userId=%d roomId=%d gameId=%d playType=%d scene=%d",
- userId, req.RoomId, req.GameId, req.PlayType, req.Scene)
- return ""
- }
- ret.RetCode, ret.Message, ret.Result = getGameManager().startGame(userId, req.RoomId, req.GameId, req.PlayType, req.Scene, req.MessageContent, info.UserId)
- buf, _ := json.Marshal(ret)
- return string(buf)
- }
- // 测试期获取房间自动创建,后续改成房主创建
- func GetGameRoomInfo(userId int, data string) string {
- var req struct {
- RoomId int
- GameId int
- RuleName string
- }
- if err := json.Unmarshal([]byte(data), &req); err != nil {
- retData := fmt.Sprintf("game_main.GetGameRoomInfo unmarshal fail %v", err)
- log.Release(retData)
- return retData
- }
- roomInfo := getGameManager().getGameRoomInfo(req.RoomId, req.GameId, req.RuleName)
- buf, _ := json.Marshal(roomInfo)
- return string(buf)
- }
- func ReportUserBet(roomId, roomNo, gameId int, roomName string, isChipRoom bool, userBets []pb.UserBet) {
- info := getGameManager().getRoomInfo(roomId)
- if info == nil {
- log.Error("game_main.ReportUserBet roomId=%d roomNo=%d gameId=%d roomName=%s userBets=%+v",
- roomId, roomNo, gameId, roomName, userBets)
- return
- }
- getGameManager().reportUserBet(roomId, roomNo, gameId, roomName, isChipRoom, userBets, info.UserId)
- }
- // 创建房间,如果返回nil表示创建失败
- func CreateGameRoom(roomId, gameId int, ruleName string) (bool, *pb.GameRoomInfo) {
- ok, gr := getGameManager().createGameRoom(roomId, gameId, ruleName)
- if !ok {
- return ok, nil
- }
- return ok, &gr.GameRoomInfo
- }
- func CloseGameRoom(roomId, roomNo int) bool {
- return getGameManager().closeGameRoom(roomId, roomNo)
- }
- func SubscribeRoomEnd(onRoomEnd func(roomId int, roomNo int)) {
- getGameManager().setRoomEndSubscriber(onRoomEnd)
- }
- // 订阅房间信息
- func SubscribeRoomInfo(onRoomInfo func(roomId int) *pb.RoomInfo) {
- getGameManager().setRoomInfoSubscriber(onRoomInfo)
- }
|