package teen import ( "server/events" "server/game/room" "server/msg" "server/user" "github.com/name5566/leaf/log" ) func handleEvents() { for event := range events.EventChan { switch event.Type { case events.EventTeenPattiGameInfo: event.Agent.WriteMsg(&msg.ReqGameInfo{ GameId: "teen_patti", TeenPattiRoomList: convertToMsgRoomList(GameConfig.RoomList), }) case events.EventJoinTeenPattiRoom: log.Debug("EventJoinTeenPattiRoom") m := event.Data.(*msg.ResJoinRoom) userData := event.Agent.UserData().(*user.UserData) if userData.Teen_Patti_Room == nil { userData.Teen_Patti_Room = &room.Room{ Id: "teen_patti", Players: make([]*room.Player, 0), Status: room.RoomStatusWaiting, } } userData.Teen_Patti_Room.Players = append(userData.Teen_Patti_Room.Players, &room.Player{ Id: m.UserId, Agent: event.Agent, IsRobot: false, UserData: userData, SitPos: SelfSitPos, IsPacked: false, IsSeen: false, IsShow: false, IsDealer: false, HandCards: &[]msg.ReqCard{}, }) userData.Teen_Patti_Room.GameRound = &room.GameRound{ Rounds: make([]msg.ReqRound, 0), TotalBet: 0, } go startGame(m.UserId, m.RoomId, event.Agent, userData.Teen_Patti_Room) case events.EventTeenPattiPlayerOptAction: // m := event.Data.(*msg.ResPlayerOptAction) log.Debug("EventTeenPattiPlayerOptAction") m := event.Data.(*msg.ResPlayerOptAction) userData := event.Agent.UserData().(*user.UserData) if userData.Teen_Patti_Room != nil { recvPlayerOptAction(userData.Teen_Patti_Room, m.SitPos, m.PlayerOpt) } else { log.Error("userData.Teen_Patti_Room is nil") } } } }