EnterRoomBehavior.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. //import TsdkFacade from '../TSDK/TsdkFacade';
  2. import BehaviorBase from '../Framework/BehaviorBase';
  3. import DataModelManager from '../Framework/DataModelManager'
  4. export default class EnterRoomBehavior extends BehaviorBase
  5. {
  6. // 收到玩家坐下
  7. OnPlayerSitDownEvent(id, evt) {
  8. console.log("OnPlayerSitDownEvent");
  9. if (evt.OtherInfo.tvalue[0].tlv._subtype === tsdk.TSMsgPara.TSHuanLeGameSvr.TLV_TYPE.EM_DN_TLV_PLAYERDETAIL) {
  10. let pPlayerDetail = evt.OtherInfo.tvalue[0].tlv.tvalue;
  11. let nickname = pPlayerDetail.Nick.tvalue;
  12. let headurl = pPlayerDetail.HeadUrl.tvalue;
  13. let seatid = pPlayerDetail.SeatID.tvalue;
  14. let playerId = pPlayerDetail.PlayerID.tvalue;
  15. console.log("name: " + nickname + " url: " + headurl + " playerid: " + playerId);
  16. //let playerModel = this.dmm.getModel("PlayerInfoModel");
  17. //playerModel.setNickName(seatid, nickname);
  18. // playerModel.setHeadUrl(seatid, headurl);
  19. // playerModel.setPlayerId(seatid, playerId);
  20. }
  21. else {
  22. console.log("no player detail.");
  23. }
  24. }
  25. // 注册监听
  26. registerHandlers() {
  27. // 房间事件注册
  28. // let gameSoMgr = TsdkFacade.getGameSoManager();
  29. // gameSoMgr.addRoomEventHandler(3, this.OnPlayerSitDownEvent.bind(this));
  30. }
  31. constructor()
  32. {
  33. super();
  34. this.dmm = DataModelManager;
  35. // this.tsdk = TsdkFacade.getCore();
  36. // this.registerHandlers();
  37. // this.m_capEnterRoom = new tsdk.TSMsgPara.TSHuanLeGameSvr.TTLVUNIT();
  38. // var tdr = this.m_capEnterRoom.tlv.setSelectedTypeTdr(tsdk.TSMsgPara.TSHuanLeGameSvr.TLV_TYPE.EM_DN_TLV_PLAYER_CAPABILITY);
  39. // tdr.ClientCapability.tvalue = tsdk.TSMsgPara.TSHuanLeGameSvr.PLAYER_CAPABILITY_DEF.EPCD_GAMEING_JOIN | tsdk.TSMsgPara.TSHuanLeGameSvr.PLAYER_CAPABILITY_DEF.EPCD_POINT_RESULT;
  40. // // TODO: 新好友房,如果要进入老的好友房客户端可能要做一层兼容,不带这个标记(虽然后台的老好友房svr目前没有更新,没有这个bitflag的逻辑,但是还是最好做一下)
  41. // tdr.ClientCapability.tvalue |= tsdk.TSMsgPara.TSHuanLeGameSvr.PLAYER_CAPABILITY_DEF.EPCD_NEW_PRIVATE_ROOM;
  42. }
  43. // 快速开始
  44. quickEnter()
  45. {
  46. console.log("quick enter.");
  47. let self = this;
  48. // this.tsdk.enterGameRoomBySceneID(1260, [this.m_capEnterRoom], function (ret, obj) {
  49. // console.log("enterGameRoomBySceneID ret:" + ret);
  50. // self.emit('quickEnterEnd',{'ret':ret,'obj':obj});
  51. // }.bind(this));
  52. }
  53. // 坐下
  54. sitdown()
  55. {
  56. console.log("sitdown.");
  57. // 经典房,只认sitFlag,其余值可忽略
  58. var roomId = -1;
  59. var tableId = -1;
  60. var seatId = -1;
  61. var gameSvrTlv = [];
  62. var sitFlag = tsdk.TSMsgPara.TSHuanLeGameSvr.SITDOWN_FLAG.ESDF_SERVER_SELECT_SEAT | tsdk.TSMsgPara.TSHuanLeGameSvr.SITDOWN_FLAG.ESDF_STANDUP_BEFORE_SITDOWN;
  63. let self = this;
  64. // this.tsdk.sitDown(sitFlag, roomId, tableId, seatId, gameSvrTlv, function (ret, retObj) {
  65. // console.log("sitdown.");
  66. // if (ret === 0) {
  67. // let playerModel = this.dmm.getModel("PlayerInfoModel");
  68. // // 对局房间信息记录
  69. // let roomid = retObj.RoomID.tvalue;
  70. // let tableid = retObj.TableID.tvalue;
  71. // playerModel.setRoomId(roomid);
  72. // playerModel.setTableId(tableid);
  73. // //playerModel.setPlayerId(retObj.SeatID.tvalue, playerId);
  74. // // 桌子已坐下玩家信息记录
  75. // for (let i = 0; i < retObj.TLVNum.tvalue; i++)
  76. // {
  77. // if (retObj.TLVInfo.tvalue[i].tlv._subtype === tsdk.TSMsgPara.TSHuanLeGameSvr.TLV_TYPE.EM_DN_TLV_PLAYERDETAIL)
  78. // {
  79. // //
  80. // let pPlayerDetail = retObj.TLVInfo.tvalue[i].tlv.tvalue;
  81. // /*
  82. // let stCmd = new TSDKMessage.T2UMsgUserEnter();
  83. // stCmd.happyBean = pPlayerDetail.Money.tvalue;
  84. // stCmd.playerUin = pPlayerDetail.PlayerUin.tvalue;
  85. // stCmd.playerSvrStatus = pPlayerDetail.PlayerStatus.tvalue;
  86. // stCmd.tableId = pPlayerDetail.TableID.tvalue;
  87. // stCmd.seatId = pPlayerDetail.SeatID.tvalue;
  88. // stCmd.nickName = pPlayerDetail.Nick.tvalue;
  89. // stCmd.headPicUrl = pPlayerDetail.HeadUrl.tvalue;
  90. // stCmd.gender = pPlayerDetail.Gender.tvalue;
  91. // stCmd.bAlreadyIn = false;
  92. // mj.PersonInfoModel.setPersonBaseInfo(pPlayerDetail.PlayerUin.tvalue,
  93. // pPlayerDetail.ClientType.tvalue,
  94. // pPlayerDetail.AccountType.tvalue,
  95. // pPlayerDetail.Nick.tvalue,
  96. // pPlayerDetail.HeadUrl.tvalue);
  97. // */
  98. // let nickname = pPlayerDetail.Nick.tvalue;
  99. // let headurl = pPlayerDetail.HeadUrl.tvalue;
  100. // let seatid = pPlayerDetail.SeatID.tvalue;
  101. // let playerId = pPlayerDetail.PlayerID.tvalue;
  102. // console.log("name: " + nickname + " url: " + headurl + " playerid: " + playerId);
  103. // playerModel.setNickName(seatid, nickname);
  104. // playerModel.setHeadUrl(seatid, headurl);
  105. // playerModel.setPlayerId(seatid, playerId);
  106. // }
  107. // }
  108. // }
  109. // self.emit('sitdownEnd',{'ret':ret,'obj':retObj});
  110. // }.bind(this));
  111. }
  112. }