event.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package teen
  2. import (
  3. "server/events"
  4. "server/game/room"
  5. "server/msg"
  6. "server/user"
  7. "github.com/name5566/leaf/log"
  8. )
  9. func handleEvents() {
  10. for event := range events.EventChan {
  11. switch event.Type {
  12. case events.EventTeenPattiGameInfo:
  13. event.Agent.WriteMsg(&msg.ReqGameInfo{
  14. GameId: "teen_patti",
  15. TeenPattiRoomList: convertToMsgRoomList(GameConfig.RoomList),
  16. })
  17. case events.EventJoinTeenPattiRoom:
  18. log.Debug("EventJoinTeenPattiRoom")
  19. m := event.Data.(*msg.ResJoinRoom)
  20. userData := event.Agent.UserData().(*user.UserData)
  21. if userData.Teen_Patti_Room == nil {
  22. userData.Teen_Patti_Room = &room.Room{
  23. Id: "teen_patti",
  24. Players: make([]*room.Player, 0),
  25. Status: room.RoomStatusWaiting,
  26. }
  27. }
  28. userData.Teen_Patti_Room.Players = append(userData.Teen_Patti_Room.Players, &room.Player{
  29. Id: m.UserId,
  30. Agent: event.Agent,
  31. IsRobot: false,
  32. UserData: userData,
  33. SitPos: SelfSitPos,
  34. IsPacked: false,
  35. IsSeen: false,
  36. IsShow: false,
  37. IsDealer: false,
  38. HandCards: &[]msg.ReqCard{},
  39. })
  40. userData.Teen_Patti_Room.GameRound = &room.GameRound{
  41. Rounds: make([]msg.ReqRound, 0),
  42. TotalBet: 0,
  43. }
  44. go startGame(m.UserId, m.RoomId, event.Agent, userData.Teen_Patti_Room)
  45. case events.EventTeenPattiPlayerOptAction:
  46. // m := event.Data.(*msg.ResPlayerOptAction)
  47. log.Debug("EventTeenPattiPlayerOptAction")
  48. m := event.Data.(*msg.ResPlayerOptAction)
  49. userData := event.Agent.UserData().(*user.UserData)
  50. if userData.Teen_Patti_Room != nil {
  51. recvPlayerOptAction(userData.Teen_Patti_Room, m.SitPos, m.PlayerOpt)
  52. } else {
  53. log.Error("userData.Teen_Patti_Room is nil")
  54. }
  55. }
  56. }
  57. }