var GameProtocol = require("SGLBGameProtocol") var Global = require("Global") cc.Class({ extends: cc.Component, properties: { }, statics: { analyzeData(m, s, dataview) { switch (s) { case GameProtocol.SUB_S_REBACK_LOTTERY: {//游戏开始 return this.analyze_GameResult(dataview); } break; case GameProtocol.SUB_S_JACKPOT_RESET: { //下注 return this.analyze_Jackpot(dataview); } break; case GameProtocol.SUB_S_SEND_CONTROL_INFO: { return this.analyze_ControlInfo(dataview); } break; default: break; } return null; }, analyze_GameConfig(dataview) {//游戏状态 var dataList = {}; dataview.pos = 0; // dataList.lCurScore = Global.unify(Global.GetUint64(dataview)); // dataList.lEnterScore = Global.unify(Global.GetUint64(dataview)); // dataList.nMinJetton = Global.GetInt32(dataview); // dataList.nMaxJetton = Global.GetInt32(dataview); dataList.nJetton = []; for(let i = 0;i< GameProtocol.LUCKMAN_LIST_LENGTH;i++){ dataList.nJetton[i] = Global.GetInt32(dataview);//筹码配置 } // dataList.szLuckymanList = []; // for(let i = 0;i< GameProtocol.LUCKMAN_LIST_LENGTH;i++){ // dataList.szLuckymanList[i] = Global.Read2Char(dataview, 32); // } return dataList; }, analyze_GameResult(dataview) { // Global.print(dataview); var dataList = {}; dataview.pos = 0; dataList.m_chair_id = Global.GetInt8(dataview); dataList.m_chip_size = Global.GetInt32(dataview); dataList.m_desk_data = []; for(let i = 0;i< GameProtocol.MAX_ROW_NUM;i++){ dataList.m_desk_data[i] = []; for(let j = 0; j < GameProtocol.MAX_COL_NUM; ++j) { dataList.m_desk_data[i][j] = Global.GetInt8(dataview); } } dataList.m_is_berserk = Global.GetInt8(dataview); dataList.m_berserk_data1 = []; for(let i = 0;i< GameProtocol.MAX_ROW_NUM;i++){ dataList.m_berserk_data1[i] = []; for(let j = 0; j < GameProtocol.MAX_COL_NUM; ++j) { dataList.m_berserk_data1[i][j] = Global.GetInt8(dataview); } } dataList.m_berserk_data2 = []; for(let i = 0;i< GameProtocol.MAX_ROW_NUM;i++){ dataList.m_berserk_data2[i] = []; for(let j = 0; j < GameProtocol.MAX_COL_NUM; ++j) { dataList.m_berserk_data2[i][j] = Global.GetInt8(dataview); } } dataList.m_line_count = Global.GetInt8(dataview); dataList.m_line_id = []; for(let i = 0;i< GameProtocol.MAX_LINE_COUNT;i++){ dataList.m_line_id[i] = Global.GetInt8(dataview); } dataList.m_line_size = []; for(let i = 0;i< GameProtocol.MAX_LINE_COUNT;i++){ dataList.m_line_size[i] = Global.GetInt8(dataview); } dataList.m_line_icon = []; for(let i = 0;i< GameProtocol.MAX_LINE_COUNT;i++){ dataList.m_line_icon[i] = Global.GetInt8(dataview); } dataList.m_line_times = []; for(let i = 0;i< GameProtocol.MAX_LINE_COUNT;i++){ dataList.m_line_times[i] = Global.GetInt8(dataview); } dataList.m_kongming = Global.GetInt8(dataview); dataList.m_ruyi = Global.GetInt8(dataview); dataList.m_lottery_size = Global.unify(Global.GetUint64(dataview)); dataList.m_deposit_lotttery = Global.unify(Global.GetUint64(dataview)); dataList.lCurScore = Global.unify(Global.GetUint64(dataview)); dataList.cbFreeTime = Global.GetInt8(dataview); dataList.cbFreeAdd = Global.GetInt8(dataview); return dataList; }, analyze_Jackpot(dataview) { var dataList = {}; dataview.pos = 0; dataList.lJackPot = Global.unify(Global.GetUint64(dataview)); return dataList; }, analyze_ControlInfo(dataview) { let data = {}; dataview.pos = 0; data.RoomSha = Global.GetInt16(dataview); // WORD 房间杀率 data.RoomWin = Global.GetInt16(dataview); // WORD 系统赢 data.RoomLost = Global.GetInt16(dataview); // WORD 系统输 data.RoomSuiRate = Global.GetInt16(dataview); // WORD 当前随到 data.RoomResult = Global.GetInt8(dataview); // BYTE 控制结果 0无控制 1系统赢 2系统输 data.QunState = Global.GetInt8(dataview); // BYTE 是否需要判断控制 0不需要1需要 data.QunStock = Global.unify(Global.Read2ll(dataview)); // SCORE 群控库存 data.IsDanKong = Global.GetInt8(dataview); // BYTE 单控是否生效 1是 data.DanRate = Global.GetInt16(dataview); // WORD 单控概率 data.DanStocks = Global.unify(Global.GetInt32(dataview)); // int 单控库存 data.DanSuiRate = Global.GetInt16(dataview); // WORD 单控随机值 data.DanType = Global.GetInt8(dataview); // BYTE 控制结果0无控制 1控制系统赢 2控制系统输 data.DanMinBet = Global.unify(Global.GetInt32(dataview)); // int 单控门槛 return data; }, analyze_Record(dataview) { var dataList = {}; dataview.pos = 0; dataList.nBet = Global.GetInt32(dataview); dataList.nWinLost = Global.GetInt32(dataview); dataList.nTime = Global.GetInt32(dataview); return dataList; }, }, start () { }, });