| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232 |
- var GameExitCode_Normal = 0; //正常退出
- var GameExitCode_CreateFailed = 1; //创建失败
- var GameExitCode_Timeout = 2; //定时到时
- var GameExitCode_Shutdown = 3; //断开连接
- var CServerItem = cc.Class({
- extends: cc.Component,
- properties: {
- },
- ctor :function () {
- this.mReqTableID = INVALID_TABLE;
- this.mServiceStatus = ServiceStatus_Unknow;
- this.mGameServer = null;
- this.mServerAttribute = null;
- this.mSocketEngine = null;
- this.mIStringMessageSink = null;
- this.mUserManager = null;
- this.mMeUserItem = 0;
- this.mUserAttribute = null;
- this.mReconnecting = false;
- this.mInterval = null;
- this.mIntervalTime = 0;
- this.mServerHeartTime = 0;
- this.mHeartStatTime = 0;
- },
- //设置接口
- SetServerItemSink :function(pIServerItemSink){
- this.mServerAttribute = new tagServerAttribute();
- this.mUserManager = new CPlazaUserManager(this);
- this.mUserAttribute = new tagUserAttribute();
- this.mIServerItemSink = pIServerItemSink;
- return true;
- },
- //设置接口
- SetStringMessageSink :function(pIStringMessageSink){
- this.mIStringMessageSink = pIStringMessageSink;
- return true;
- },
- //比赛框架
- GetMatchViewFrame :function(){
- return this.mMatchViewFrame;
- },
- //房间属性
- GetServerAttribute:function (){
- return this.mServerAttribute;
- },
- //设置状态
- SetServiceStatus :function(ServiceStatus){
- //设置变量
- this.mServiceStatus=ServiceStatus;
- },
- //是否服务状态
- IsService:function (){
- return this.mServiceStatus == ServiceStatus_ServiceIng;
- },
- //服务状态
- GetServiceStatus:function (){
- return this.mServiceStatus;
- },
- //自己位置
- GetMeUserItem :function() {
- return this.mMeUserItem;
- },
- //配置房间
- SetServerAttribute:function (pGameServerItem,wAVServerPort,dwAVServerAddr) {
- //房间属性
- this.mGameServer = pGameServerItem;
- this.mServerAttribute.wKindID = this.mGameServer.wKindID;
- this.mServerAttribute.wServerID = this.mGameServer.wServerID;
- this.mServerAttribute.wAVServerPort = this.mGameServer.wAVServerPort;
- this.mServerAttribute.dwAVServerAddr = this.mGameServer.dwAVServerAddr;
- this.mServerAttribute.szServerName = this.mGameServer.szServerName;
- return true;
- },
- //配置房间
- ConnectServer:function (pGameServerItem,wAVServerPort,dwAVServerAddr) {
- if (this.mServiceStatus != ServiceStatus_Unknow && this.mServiceStatus != ServiceStatus_NetworkDown){
- if (this.mIStringMessageSink)
- this.mIStringMessageSink.InsertPromptString("很抱歉,此遊戲房間還未關閉,請先關閉!!"+this.mServiceStatus);
- return false;
- }
- //房间属性
- this.SetServerAttribute(pGameServerItem, wAVServerPort, dwAVServerAddr);
- //关闭判断
- if (this.mServerAttribute.wServerID==0){
- this.SetServiceStatus(ServiceStatus_Unknow);
- if (this.mIStringMessageSink)
- this.mIStringMessageSink.InsertPromptString("很抱歉,此遊戲房間已經關閉了,不允許繼續進入!");
- return false;
- }
- //创建组件
- this.mSocketEngine = new cc.CSocketEngine(this);
- this.mSocketEngine.connect(this.mGameServer.szServerAddr, this.mGameServer.wServerPort);
- //设置状态
- this.SetServiceStatus(ServiceStatus_Entering);
- return true;
- },
- OnErr:function(){
- if (this.mIServerItemSink) return this.mIServerItemSink.OnGFServerReLink();
- },
- //发送登录
- SendLogonPacket:function (){
- //变量定义
- var LogonUserID = new CMD_GR_LogonUserID();
- //变量定义
- var pGlobalUserData=g_GlobalUserInfo.GetGlobalUserData();
- //登录信息
- LogonUserID.dwUserID = pGlobalUserData.dwUserID;
- LogonUserID.szPassword = pGlobalUserData.szDynamicPass;
- LogonUserID.szServerPasswd = LogonUserID.szServerPasswd;
- LogonUserID.wKindID = this.mServerAttribute.wKindID;
- LogonUserID.szMachineID = 'creator';
- //发送数据
- this.SendSocketClass(MDM_GR_LOGON, SUB_GR_LOGON_USERID, LogonUserID);
- return true;
- },
- //发送函数
- SendSocketData :function(wMainCmdID, wSubCmdID, data, dataSize){
- return this.mSocketEngine.send(wMainCmdID, wSubCmdID, data, dataSize);
- },
- //发送函数
- SendSocketClass :function (wMainCmdID, wSubCmdID, Obj){
- return this.mSocketEngine.sendClass(wMainCmdID, wSubCmdID, Obj);
- },
- //////////////////////////////////////////////////////////////////////////
- // Socket消息
- // 发送数据
- GFSendData :function(main, sub, data, size){
- return this.SendSocketData(main, sub, data, size);
- },
- //中断连接
- IntermitConnect :function(bBackLobby){
- if (this.mServiceStatus==ServiceStatus_Unknow || this.mServiceStatus==ServiceStatus_NetworkDown)return false;//
- if (this.IsService()){
- var kernel = gClientKernel.get();
- if(kernel) kernel.Intermit(0);
- }
- this.mIServerItemSink = null;
- this.mIntervalTime = new Date().getTime();
- this.mInterval = bBackLobby;
- return true;
- },
- CloseSocket:function (dt) {
- //设置状态
- this.SetServiceStatus(ServiceStatus_NetworkDown);
- this.mSocketEngine.closesocket();
- this.mReqTableID = INVALID_TABLE;
- this.mReqChairID = INVALID_CHAIR;
- this.mIsGameReady = false;
- this.mMeUserItem = 0;
- this.mServerHeartTime = 0;
- this.mUserManager.ResetUserItem(true);
- var kernel = gClientKernel.get();
- if(kernel)kernel.ResetUserItem();
- },
- update :function (dt) {
- if(!this.mInterval) return;
- //检查锁屏
- var timestamp=new Date().getTime();
- if(timestamp-this.mIntervalTime>=500){
- this.mInterval = null;
- this.CloseSocket();
- gClientKernel.destory();
- ChangeScene('Lobby');
- }
- },
- //游戏已准备好
- OnGFGameReady :function() {
- //变量定义
- var wTableID = this.mMeUserItem.GetTableID();
- var wChairID = this.mMeUserItem.GetChairID();
- var dwMeUserID = this.mMeUserItem.GetUserID();
- var pClientKernel = gClientKernel.get();
- this.mUserAttribute.wChairID = wChairID;
- this.mUserAttribute.wTableID = wTableID;
- //房间信息
- pClientKernel.OnGFConfigServer(this.mUserAttribute, this.mServerAttribute);
- pClientKernel.OnGFUserEnter(this.mMeUserItem);
- //发送用户
- if ((wTableID!=INVALID_TABLE)&&(wChairID!=INVALID_CHAIR)) {
- //变量定义
- var wEnumIndex = 0;
- //发送玩家
- while (true) {
- //获取用户
- var pIClientUserItem = this.mUserManager.EnumUserItem(wEnumIndex++);
- if (pIClientUserItem == 0) break;
- //发送判断
- if (pIClientUserItem.GetUserID() == dwMeUserID) continue;
- if (pIClientUserItem.GetTableID() != wTableID) continue;
- if (pIClientUserItem.GetUserStatus() == US_LOOKON) continue;
- //发送用户
- pClientKernel.OnGFUserEnter(pIClientUserItem);
- };
- //旁观用户
- wEnumIndex=0;
- while (true){
- //获取用户
- pIClientUserItem=this.mUserManager.EnumUserItem(wEnumIndex++);
- if (pIClientUserItem==0) break;
- //发送判断
- if (pIClientUserItem.GetUserID() == dwMeUserID) continue;
- if (pIClientUserItem.GetTableID()!=wTableID) continue;
- if (pIClientUserItem.GetUserStatus()!=US_LOOKON) continue;
- //发送用户
- pClientKernel.OnGFUserEnter(pIClientUserItem);
- };
- }
- //配置完成
- pClientKernel.OnGFConfigFinish();
- this.mIsGameReady = true;
- },
- //游戏关闭
- OnGFGameClose :function(iExitCode){
- //效验状态
- if (this.mMeUserItem==0) return ;
- this.mIsGameReady = false;
- //变量定义
- var wTableID=this.mMeUserItem.GetTableID();
- var wChairID=this.mMeUserItem.GetChairID();
- var cbUserStatus=this.mMeUserItem.GetUserStatus();
- this.mUserAttribute.wChairID = INVALID_CHAIR;
- this.mUserAttribute.wTableID = INVALID_TABLE;
- //退出游戏
- if ((wTableID!=INVALID_TABLE)&&(this.mServiceStatus==ServiceStatus_ServiceIng))
- {
- this.SendStandUpPacket(wTableID,wChairID,1);
- }
- this.mTableViewFrame.SetTableStatus1(false);
- },
- onEventTCPSocketLink :function(){
- this.mServerHeartTime = new Date().getTime();
- if(this.mIServerItemSink)this.mIServerItemSink.StopLoading();
- if(window.ReLinkTime != null){
- if(window.LOG_NET_DATA)console.log("onEventTCPSocketLink "+window.ReLinkTime)
- window.ReLinkTime = null;
- var kernel = gClientKernel.get();
- kernel.mIClientKernelSink.OnClearScene();
- if(kernel.mIClientKernelSink.m_DisCtrl && kernel.mIClientKernelSink.m_DisCtrl.node.active){
- kernel.mIClientKernelSink.m_DisCtrl.node.active = false;
- g_TimerEngine.UnPauseGameTimer();
- }
- }
- this.SendLogonPacket();
- },
- onEventTCPSocketShut :function(){
- //设置状态
- this.SetServiceStatus(ServiceStatus_NetworkDown);
- if (this.mIServerItemSink && this.mInterval != null) return this.mIServerItemSink.OnGFServerReLink();
- },
- onEventTCPSocketRead :function(main, sub, data, dataSize){
- //try {
- switch (main){
- //登录消息
- case MDM_GR_LOGON: return this.OnSocketMainLogon(sub,data,dataSize);
- //配置信息
- case MDM_GR_CONFIG: return this.OnSocketMainConfig(sub,data,dataSize);
- //用户信息
- case MDM_GR_USER: return this.OnSocketMainUser(sub,data,dataSize);
- //状态信息
- case MDM_GR_STATUS: return this.OnSocketMainStatus(sub,data,dataSize);
- //银行消息
- case MDM_GR_INSURE: return OnSocketMainInsure(sub,data,dataSize);
- //管理消息
- case MDM_GR_MANAGE: return OnSocketMainManager(sub,data,dataSize);
- //管理消息
- case MDM_CM_SYSTEM: return this.OnSocketMainSystem(sub,data,dataSize);
- //游戏消息
- case MDM_GF_GAME:
- case MDM_GF_CARDROOM:
- case MDM_GF_FRAME: return this.OnSocketMainGameFrame(main,sub,data,dataSize);
- //比赛消息
- case MDM_GR_MATCH: return this.OnSocketMainMatch(sub,data,dataSize);
- }
- return true;
- /*} catch (error) {
- if(window.LOG_NET_DATA)console.log('onEventTCPSocketRead err!!! '+main+'-'+sub+' size:'+dataSize)
- if(window.LOG_NET_DATA)console.log(error)
- }*/
- },
- //登录消息
- OnSocketMainLogon :function(sub, data, dataSize) {
- switch (sub){
- //登录成功
- case SUB_GR_LOGON_SUCCESS: return this.OnSocketSubLogonSuccess(data,dataSize);
- //登录失败
- case SUB_GR_LOGON_ERROR: return this.onSocketSubLogonFailure(data,dataSize);
- //登录完成
- case SUB_GR_LOGON_FINISH: return this.OnSocketSubLogonFinish(data,dataSize);
- //更新提示
- case SUB_GR_UPDATE_NOTIFY: return this.OnSocketSubUpdateNotify(data,dataSize);
- }
- return true;
- },
- //配置信息
- OnSocketMainConfig :function(sub, data, dataSize) {
- switch (sub){
- //房间配置
- case SUB_GR_CONFIG_SERVER: return this.OnSocketSubConfigServer(data, dataSize);
- //列表配置
- case SUB_GR_CONFIG_COLUMN: return true;
- //道具配置
- case SUB_GR_CONFIG_PROPERTY: return true;
- //配置玩家权限
- case SUB_GR_CONFIG_USER_RIGHT: return true;
- //配置完成
- case SUB_GR_CONFIG_FINISH: return true;
- }
- return true;
- },
- //比赛消息
- OnSocketMainMatch :function(sub, data, dataSize){
- switch (sub){
- //费用查询
- case SUB_GR_MATCH_FEE: return this.OnSocketSubMatchFee(data,dataSize);
- //金币更新
- case SUB_GR_MATCH_GOLDUPDATE: return this.OnSocketSubMatchGold(data, dataSize);
- }
- return this.mMatchViewFrame.OnEventViewData(sub, data, dataSize);
- },
- //心跳消息
- OnSocketHeart :function(){
- if( this.mInterval != null) return true;
- //服务器端返回的心跳
- this.mServerHeartTime = new Date().getTime();
- window.g_NetResponseTime = this.mServerHeartTime - this.mHeartStatTime;
- return true;
- },
- //比赛费用
- OnSocketSubMatchFee :function(data, dataSize) {
- var pMatchFee = new CMD_GR_Match_Fee();
- //参数效验
- if (dataSize>pMatchFee.getSize()) return false;
- //提取数据
- pMatchFee.lMatchFee = gCByte.r4(data,pMatchFee.index_lMatchFee);
- pMatchFee.szNotifyContent = gCByte.rStr(data,pMatchFee.index_szNotifyContent);
- if (pMatchFee.lMatchFee>0)
- {
- if (this.mIStringMessageSink)
- {
- this.mIStringMessageSink.InsertMatchJoinString(pMatchFee.lMatchFee);
- }
- }
- return true;
- },
- //更新金币
- OnSocketSubMatchGold :function(data, dataSize) {
- var pMatchGoldUpdate = new CMD_GR_MatchGoldUpdate();
- //参数校验
- if (pMatchGoldUpdate.getSize() != dataSize) return false;
- //提取数据
- pMatchGoldUpdate.lCurrGold = gCByte.r8(data,pMatchGoldUpdate.index_lCurrGold);
- pMatchGoldUpdate.lCurrIngot = gCByte.r8(data,pMatchGoldUpdate.index_lCurrIngot);
- pMatchGoldUpdate.dwCurrExprience = gCByte.r4(data,pMatchGoldUpdate.index_dwCurrExprience);
- //变量定义
- var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
- //设置变量
- pGlobalUserData.llUserScore = pMatchGoldUpdate.lCurrGold;
- pGlobalUserData.llUserIngot = pMatchGoldUpdate.lCurrIngot;
- pGlobalUserData.dwExperience = pMatchGoldUpdate.dwCurrExprience;
- return true;
- },
- //登录失败
- onSocketSubLogonFailure :function(data, size){
- //变量定义
- var pLogonFailure = new CMD_GR_LogonFailure();
- gCByte.Bytes2Str(pLogonFailure,data);
- //显示消息
- if (this.mIStringMessageSink)
- this.mIStringMessageSink.InsertPromptStringAndClose(pLogonFailure.szErrorDescribe);
- return true;
- },
- //登录成功
- OnSocketSubLogonSuccess :function(data,dataSize) {
- this.mIsQuickSitDown = false;
- //设置状态
- this.SetServiceStatus(ServiceStatus_RecvInfo);
- //if (this.mIServerItemSink)
- // this.mIServerItemSink.OnGRLogonSuccess();
- return true;
- },
- //登录完成
- OnSocketSubLogonFinish :function(data, dataSize) {
- //设置状态
- this.SetServiceStatus(ServiceStatus_ServiceIng);
- this.mUserAttribute.dwUserID=this.mMeUserItem.GetUserID();
- this.mUserAttribute.wChairID=INVALID_CHAIR;
- this.mUserAttribute.wTableID=INVALID_TABLE;
- if (this.mIServerItemSink)
- this.mIServerItemSink.OnGRLogonFinish();
- return true;
- },
- //登录完成
- OnSocketSubUpdateNotify :function(data, dataSize) {
- if (this.mIServerItemSink)
- this.mIStringMessageSink.InsertPromptStringAndClose("遊戲版本不匹配");
- return true;
- },
- //房间配置
- OnSocketSubConfigServer :function(data,dataSize) {
- var pConfigServer = new CMD_GR_ConfigServer();
- //效验数据
- if (dataSize<gCByte.Bytes2Str(pConfigServer,data)) return false;
- //消息处理
- //房间属性
- this.mServerAttribute.wServerType=pConfigServer.wServerType;
- this.mServerAttribute.dwServerRule=pConfigServer.dwServerRule;
- this.mServerAttribute.wTableCount=pConfigServer.wTableCount;
- this.mServerAttribute.wChairCount=pConfigServer.wChairCount;
- if (!this.mTableViewFrame.ConfigTableFrame(
- this.mServerAttribute.wTableCount,
- this.mServerAttribute.wChairCount,
- this.mServerAttribute.dwServerRule,
- this.mServerAttribute.wServerType,
- this.mServerAttribute.wServerID))
- {
- this.IntermitConnect(true);
- return false;
- }
- return true;
- },
- //用户处理
- OnSocketMainUser :function(sub, data, dataSize){
- switch (sub) {
- //请求坐下失败
- case SUB_GR_REQUEST_FAILURE: return this.OnSocketSubRequestFailure(data, dataSize);
- //邀请玩家
- case SUB_GR_USER_INVITE: return OnSocketSubUserInvite(data,dataSize);
- //等待分配
- case SUB_GR_USER_WAIT_DISTRIBUTE: return OnSocketSubWaitDistribute(data,dataSize);
- //用户进入
- case SUB_GR_USER_ENTER: return this.OnSocketSubUserEnter(data, dataSize);
- //用户积分
- case SUB_GR_USER_SCORE: return this.OnSocketSubUserScore(data,dataSize);
- //用户状态
- case SUB_GR_USER_STATUS: return this.OnSocketSubUserStatus(data,dataSize);
- //道具成功
- case SUB_GR_PROPERTY_SUCCESS: return OnSocketSubPropertySuccess(data,dataSize);
- //道具失败
- case SUB_GR_PROPERTY_FAILURE: return OnSocketSubPropertyFailure(data,dataSize);
- //道具效应
- case SUB_GR_PROPERTY_EFFECT: return OnSocketSubPropertyEffect(data,dataSize);
- //礼物消息
- case SUB_GR_PROPERTY_MESSAGE: return OnSocketSubPropertyMessage(data,dataSize);
- //喇叭消息
- case SUB_GR_PROPERTY_TRUMPET: return OnSocketSubPropertyTrumpet(data,dataSize);
- case SUB_GR_USER_QUEUE_COM: return OnSocketSubQueueCom(data, dataSize);
- case SUB_GR_USER_GAME_DATA:
- if(window.LOG_NET_DATA)console.log("the fucking user game data!!!!!")
- return true;
- }
- return true;
- },
- //请求失败
- OnSocketSubRequestFailure :function(data,dataSize) {
- //变量定义
- var pRequestFailure = new CMD_GR_RequestFailure();
- gCByte.Bytes2Str(pRequestFailure, data);
- //变量定义
- var pITableUserItem=0;
- var wMeTableID=this.mMeUserItem.GetTableID();
- var wMeChairID=this.mMeUserItem.GetChairID();
- //界面还原
- if ((this.mReqTableID!=INVALID_TABLE)&&(this.mReqChairID!=INVALID_TABLE)&&(this.mReqChairID!=MAX_CHAIR))
- {
- var pITableUserItem=this.mTableViewFrame.GetClientUserItem(this.mReqTableID,this.mReqChairID);
- if (pITableUserItem==this.mMeUserItem)
- this.mTableViewFrame.SetClientUserItem2(this.mReqTableID, this.mReqChairID, null);
- }
- //设置变量
- this.mReqTableID=INVALID_TABLE;
- this.mReqChairID=INVALID_CHAIR;
- if (this.mIsQuickSitDown){
- this.mIsQuickSitDown = false;
- /*
- if (CServerRule::IsAllowQuickMode(mServerAttribute.dwServerRule))
- {//快速坐下,防作弊模式
- if (mIServerItemSink)
- {
- char szDescribeString[256*4];
- UtoA(pRequestFailure->szDescribeString, szDescribeString, sizeof(pRequestFailure->szDescribeString));
- mIServerItemSink->OnGFServerClose(szDescribeString);
- }
- }
- */
- }else{
- //提示消息
- if (this.mIServerItemSink)
- this.mIServerItemSink.onGRRequestFailure(pRequestFailure.szDescribeString);
- }
- return true;
- },
- //用户积分
- OnSocketSubUserScore: function (data, dataSize) {
- // 创建一个CMD_GR_UserScore对象实例
- var pUserScore = new CMD_GR_UserScore();
- // 校验接收到的数据大小是否与CMD_GR_UserScore对象解析后的数据大小一致
- // 使用gCByte.Bytes2Str方法将字节数据转换为字符串,并与dataSize进行比较
- // 如果不一致,返回false,表示数据校验失败
- if (dataSize != gCByte.Bytes2Str(pUserScore, data)) return false;
- // 根据用户ID从用户管理器中搜索对应的用户项
- // pUserScore.dwUserID包含了要查找的用户ID
- var pIClientUserItem = this.mUserManager.SearchUserByUserID(pUserScore.dwUserID);
- // 判断用户项是否存在
- // 如果用户项不存在(返回0),则不需要进一步处理,直接返回true
- // 注意:这里的判断条件应该是pIClientUserItem === null 或 pIClientUserItem === undefined,
- // 根据实际代码逻辑,0可能是为了表示未找到用户,这在某些特定实现中可能是合理的
- if (pIClientUserItem == 0) return true;
- // 获取全局用户数据
- // pGlobalUserData是一个包含全局用户信息的对象
- var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
- // 更新全局用户数据中的用户分数和金币数
- // 首先检查全局用户数据中的dwUserID是否与接收到的用户ID一致
- if (pGlobalUserData.dwUserID == pUserScore.dwUserID) {
- // 如果服务器类型为GAME_GENRE_GOLD,则更新用户的分数
- // 注意:这里假设llUserScore是用户的分数,llIngot是用户的金币数
- if (this.mServerAttribute.wServerType == GAME_GENRE_GOLD) {
- pGlobalUserData.llUserScore = pUserScore.UserScore.llScore;
- }
- // 无论服务器类型如何,都更新用户的金币数
- pGlobalUserData.llUserIngot = pUserScore.UserScore.llIngot;
- }
- // 更新用户管理器中用户项的分数
- // this.mUserManager.UpdateUserItemScore方法用于更新用户项的分数
- this.mUserManager.UpdateUserItemScore(pIClientUserItem, pUserScore.UserScore);
- // 返回true,表示数据处理成功
- return true;
- },
- //用户进入
- OnSocketSubUserEnter :function(data, dataSize) {
- //消息处理
- var pUserInfoHead = new tagUserInfoHead();
- var readSize = gCByte.Bytes2Str(pUserInfoHead,data);
- //效验参数
- if (dataSize<readSize) return false;
- //变量定义
- var DataDescribe = new tagDataDescribe();
- var UserInfo = new tagUserInfo();
- var InfoObj = new Object();
- InfoObj.szStr = '';
- InfoObj.len_szStr = 0;
- //扩展信息
- while (readSize < dataSize){
- readSize += gCByte.Bytes2Str(DataDescribe, data, readSize);
- if (DataDescribe.wDataDescribe == DTP_NULL) break;
- InfoObj.len_szStr = DataDescribe.wDataSize;
- readSize += gCByte.Bytes2Str(InfoObj, data, readSize);
- switch (DataDescribe.wDataDescribe){
- case DTP_GR_NICK_NAME: //用户昵称
- {
- UserInfo.szNickName = InfoObj.szStr;
- break;
- }
- case DTP_GR_GROUP_NAME: //用户社团
- {
- UserInfo.szGroupName = InfoObj.szStr;
- break;
- }
- case DTP_GR_UNDER_WRITE: //个性签名
- {
- UserInfo.szUnderWrite = InfoObj.szStr;
- break;
- }
- case DTP_GR_MOBILE_PHONE: //个性签名
- {
- UserInfo.szMobilePhone = InfoObj.szStr;
- break;
- }
- case DTP_GR_IP: //个性签名
- {
- UserInfo.szClientIP = InfoObj.szStr;
- break;
- }
- }
- }
- //var CustomFaceInfo = new tagCustomFaceInfo();
- //用户属性
- gCByte.StrSameMemCopy(UserInfo, pUserInfoHead);
- //激活用户
- var pIClientUserItem = this.mUserManager.SearchUserByUserID(UserInfo.dwUserID);
- if (pIClientUserItem == 0){
- pIClientUserItem = this.mUserManager.ActiveUserItem(UserInfo/*, CustomFaceInfo*/);
- }
- //获取对象
- var pServerListData = g_ServerListData;
- //人数更新
- //if (pServerListData)
- // pServerListData.SetServerOnLineCount(this.mServerAttribute.wServerID, this.mUserManager.GetActiveUserCount());
- return true;
- },
- OnUserItemAcitve :function(pIClientUserItem){
- //判断自己
- var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
- if (pGlobalUserData.dwUserID == pIClientUserItem.m_UserInfo.dwUserID){
- this.mMeUserItem=pIClientUserItem;
- }
- //设置桌子
- var cbUserStatus=pIClientUserItem.GetUserStatus();
- if ((cbUserStatus>=US_SIT)&&(cbUserStatus!=US_LOOKON)){
- var wTableID=pIClientUserItem.GetTableID();
- var wChairID=pIClientUserItem.GetChairID();
- this.mTableViewFrame.SetClientUserItem2(wTableID, wChairID, pIClientUserItem);
- }
- },
- //状态信息
- OnSocketMainStatus:function (sub,data,dataSize)
- {
- switch (sub)
- {
- //桌子信息
- case SUB_GR_TABLE_INFO: return this.OnSocketSubStatusTableInfo(data, dataSize);
- //桌子状态
- case SUB_GR_TABLE_STATUS: return this.OnSocketSubStatusTableStatus(data, dataSize);
- }
- return true;
- },
- //桌子信息
- OnSocketSubStatusTableInfo :function(data, dataSize){
- //变量定义
- var pTableInfo = new CMD_GR_TableInfo();
- if(dataSize < gCByte.Bytes2Str(pTableInfo,data)) return false;
- pTableInfo.TableStatusArray = new Array();
- for(var i = 0;i<pTableInfo.wTableCount;i++){
- pTableInfo.TableStatusArray[i] = new tagTableStatus();
- }
- if(dataSize != gCByte.Bytes2Str(pTableInfo,data)) return false;
- //桌子状态
- for (var i = 0; i < pTableInfo.wTableCount; i++){
- var cbTableLock= pTableInfo.TableStatusArray[i].cbTableLock;
- var cbPlayStatus=pTableInfo.TableStatusArray[i].cbPlayStatus;
- this.mTableViewFrame.SetTableStatus(i, (cbPlayStatus == true), (cbTableLock == true));
- }
- return true;
- },
- //桌子状态
- OnSocketSubStatusTableStatus :function(data, dataSize){
- var pTableStatus = new CMD_GR_TableStatus();
- //效验参数
- if(dataSize != gCByte.Bytes2Str(pTableStatus,data)) return false;
- //设置桌子
- var cbTableLock=pTableStatus.TableStatus.cbTableLock ;
- var cbPlayStatus=pTableStatus.TableStatus.cbPlayStatus;
- this.mTableViewFrame.SetTableStatus(pTableStatus.wTableID, (cbPlayStatus == true), (cbTableLock == true));
- //设置桌子
- if(cbPlayStatus==true && this.mMeUserItem.GetTableID()==pTableStatus.wTableID ){
- this.mTableViewFrame.SetTableStatus1(false);
- }
- return true;
- },
- //系统消息
- OnSocketMainSystem:function (sub, data, dataSize){
- switch (sub){
- //系统消息
- case SUB_CM_SYSTEM_MESSAGE: return this.OnSocketSubSystemMessage(data,dataSize);
- //动作消息
- case SUB_CM_ACTION_MESSAGE: return OnSocketSubActionMessage(data,dataSize);
- }
- return true;
- },
- //系统消息
- OnSocketSubSystemMessage:function (data, dataSize){
- var message = new CMD_CM_SystemMessage();
- gCByte.Bytes2Str(message, data);
- //关闭游戏
- if (message.wType&(SMT_CLOSE_ROOM|SMT_CLOSE_LINK|SMT_CLOSE_GAME)){
- if (gClientKernel.get())
- gClientKernel.get().Intermit(GameExitCode_Shutdown);
- }
- //关闭游戏
- if (message.wType&(SMT_CLOSE_ROOM|SMT_CLOSE_LINK))
- {
- //this.IntermitConnect(true);
- }
- //弹出消息
- if (message.wType&SMT_EJECT)
- {
- if (this.mIStringMessageSink)
- this.mIStringMessageSink.InsertPromptString( message.szString);
- }
- //关闭处理
- if ((message.wType&(SMT_CLOSE_ROOM|SMT_CLOSE_LINK))!=0)
- {
- //时间延迟
- //if (this.mIServerItemSink)
- // this.mIServerItemSink.OnGFServerClose(sString);
- }
- return true;
- },
- //执行起立
- PerformStandUpAction:function (wTableID,wChairID){
- if (!this.IsService())
- return false;
- //状态过滤
- if (this.mServiceStatus!=ServiceStatus_ServiceIng) return false;
- if ((this.mReqTableID==wTableID)&&(this.mReqChairID==wChairID)) return false;
- //设置变量
- this.mReqTableID=INVALID_TABLE;
- this.mReqChairID=INVALID_CHAIR;
- this.mFindTableID=INVALID_TABLE;
- //设置界面
- this.mTableViewFrame.VisibleTable(wTableID);
- var kernel = gClientKernel.get();
- if (kernel){
- kernel.Intermit(false);
- }else{
- this.SendStandUpPacket(wTableID, wChairID, 0);
- }
- return true;
- },
- //执行坐下
- PerformSitDownAction:function(wTableID, wChairID, bEfficacyPass){
- if(window.LOG_NET_DATA)console.log("執行坐下",wTableID,wChairID);
- if (!this.IsService()) return false;
- //状态过滤
- if (this.mServiceStatus!=ServiceStatus_ServiceIng) return false;
- if ((this.mReqTableID!=INVALID_TABLE)&&(this.mReqTableID==wTableID)) return false;
- if ((this.mReqChairID!=INVALID_CHAIR)&&(this.mReqChairID==wChairID)) return false;
- if ((wTableID != INVALID_TABLE) && (wChairID != INVALID_CHAIR))
- {
- var pINowUserItem = this.mTableViewFrame.GetClientUserItem(wTableID, wChairID);
- if (pINowUserItem != null)return true;
- }
- //自己状态
- if (this.mMeUserItem.GetUserStatus()>=US_PLAYING)
- {
- return true;
- //提示消息
- if (this.mIStringMessageSink)
- this.mIStringMessageSink.InsertPromptString("您正在遊戲中,暫時不能離開,請先結束當前遊戲!");
- return false;
- }
- //清理界面
- if ((this.mReqTableID!=INVALID_TABLE)&&(this.mReqChairID!=INVALID_CHAIR)&&(this.mReqChairID!=MAX_CHAIR))
- {
- pIClientUserItem = this.mTableViewFrame.GetClientUserItem(this.mReqTableID, this.mReqChairID);
- if (pIClientUserItem == this.mMeUserItem) this.mTableViewFrame.SetClientUserItem2(mReqTableID, mReqChairID, null);
- }
- //设置界面
- if ((wChairID!=MAX_CHAIR)&&(wTableID!=INVALID_TABLE)&&(wChairID!=INVALID_CHAIR))
- {
- this.mTableViewFrame.VisibleTable(wTableID);
- this.mTableViewFrame.SetClientUserItem2(wTableID, wChairID, this.mMeUserItem);
- }
- //设置变量
- this.mReqTableID=wTableID;
- this.mReqChairID=wChairID;
- this.mFindTableID=INVALID_TABLE;
- //发送命令
- this.SendSitDownPacket(wTableID,wChairID,"");
- return true;
- },
- //执行坐下
- PerformEnterRoom:function() {
- if(window.LOG_NET_DATA)console.log("进入房间 ", window.g_dwRoomID);
- if (!this.IsService()) return false;
- //状态过滤
- if (this.mServiceStatus!=ServiceStatus_ServiceIng) return false;
- //自己状态
- if (this.mMeUserItem.GetUserStatus() >= US_PLAYING && this.mMeUserItem.GetTableID() != INVALID_CHAIR){
- return true;
- //提示消息
- if (this.mIStringMessageSink)
- this.mIStringMessageSink.InsertPromptString("您正在遊戲中,暫時不能離開,請先結束當前遊戲!");
- return false;
- }
- /*
- //清理界面
- if ((this.mReqTableID!=INVALID_TABLE)&&(this.mReqChairID!=INVALID_CHAIR)&&(this.mReqChairID!=MAX_CHAIR)){
- pIClientUserItem = this.mTableViewFrame.GetClientUserItem(this.mReqTableID, this.mReqChairID);
- if (pIClientUserItem == this.mMeUserItem) this.mTableViewFrame.SetClientUserItem2(mReqTableID, mReqChairID, null);
- }
- //设置界面
- if ((wChairID!=MAX_CHAIR)&&(wTableID!=INVALID_TABLE)&&(wChairID!=INVALID_CHAIR)){
- this.mTableViewFrame.VisibleTable(wTableID);
- this.mTableViewFrame.SetClientUserItem2(wTableID, wChairID, this.mMeUserItem);
- }
- */
- //发送命令
- //if(g_ServerListDataLast.wServerType & (GAME_GENRE_PERSONAL|GAME_GENRE_CLUB)){
- if( window.g_dwRoomID > 0){
- var UserSitDown = new CMD_GR_UserEnterRoom();
- UserSitDown.dwRoomID = window.g_dwRoomID;
- UserSitDown.dwClubID = window.g_dwClubID;
- this.SendSocketClass(MDM_GR_USER, SUB_GR_USER_ENTER_ROOM, UserSitDown);
- }else{
- if(window.LOG_NET_DATA)console.log('PerformEnterRoom window.g_dwRoomID null')
- this.IntermitConnect(true);
- }
- //}
- return true;
- },
- OnUserItemDelete:function (pIClientUserItem)
- {
- //变量定义
- var wLastTableID = pIClientUserItem.GetTableID();
- var wLastChairID = pIClientUserItem.GetChairID();
- var dwLeaveUserID = pIClientUserItem.GetUserID();
- var pMeUserInfo = this.mMeUserItem.GetUserInfo();
- //离开处理
- if ((wLastTableID!=INVALID_TABLE)&&(wLastChairID!=INVALID_CHAIR))
- {
- //获取用户
- var pITableUserItem= this.mTableViewFrame.GetClientUserItem(wLastTableID,wLastChairID);
- if (pITableUserItem==pIClientUserItem) this.mTableViewFrame.SetClientUserItem2(wLastTableID,wLastChairID,null);
- //离开通知
- if ((pIClientUserItem==this.mMeUserItem)||(wLastTableID==pMeUserInfo.wTableID)) {
- var UserStatus = new tagUserStatus();
- UserStatus.cbUserStatus=US_NULL;
- UserStatus.wTableID=INVALID_TABLE;
- UserStatus.wChairID=INVALID_CHAIR;
- if (gClientKernel.get())
- gClientKernel.get().OnGFUserStatus(pIClientUserItem.GetUserID(), UserStatus);
- }
- }
- },
- OnUserItemUpdate2:function (pIClientUserItem,tLastScore) {
- //变量定义
- var pUserInfo = pIClientUserItem.GetUserInfo();
- var pMeUserInfo = this.mMeUserItem.GetUserInfo();
- var wNowTableID=pIClientUserItem.GetTableID();
- var wLastTableID=tLastScore.wTableID;
- var wNowChairID=pIClientUserItem.GetChairID();
- var wLastChairID=tLastScore.wChairID;
- var cbNowStatus=pIClientUserItem.GetUserStatus();
- var cbLastStatus=tLastScore.cbUserStatus;
- var pClientKernel = gClientKernel.get();
- //桌子离开
- if ((wLastTableID!=INVALID_TABLE)&&((wLastTableID!=wNowTableID)||(wLastChairID!=wNowChairID)))
- {
- var pITableUserItem = this.mTableViewFrame.GetClientUserItem(wLastTableID, wLastChairID);
- if (pITableUserItem == pIClientUserItem) this.mTableViewFrame.SetClientUserItem2(wLastTableID, wLastChairID, null);
- }
- //桌子加入
- if ((wNowTableID!=INVALID_TABLE)&&(cbNowStatus!=US_LOOKON)&&((wNowTableID!=wLastTableID)||(wNowChairID!=wLastChairID)))
- {
- this.mTableViewFrame.SetClientUserItem2(wNowTableID,wNowChairID,pIClientUserItem);
- }
- //桌子状态
- if ((this.mTableViewFrame.GetChairCount() < MAX_CHAIR)&&(wNowTableID!=INVALID_TABLE)&&(wNowTableID==wLastTableID)&&(wNowChairID==wLastChairID))
- {
- this.mTableViewFrame.UpdateTableView(wNowTableID);
- }
- //离开通知
- if ((wLastTableID!=INVALID_TABLE)&&((wNowTableID!=wLastTableID)||(wNowChairID!=wLastChairID))){
- //游戏通知
- if ((pIClientUserItem==this.mMeUserItem)||(wLastTableID==pMeUserInfo.wTableID)) {
- var UserStatus = new tagUserStatus();
- UserStatus.wTableID=wNowTableID;
- UserStatus.wChairID=wNowChairID;
- UserStatus.cbUserStatus=cbNowStatus;
- if (pClientKernel) pClientKernel.OnGFUserStatus(pUserInfo.dwUserID,UserStatus);
- }
- if (pIClientUserItem==this.mMeUserItem) {
- //设置变量
- mReqTableID=INVALID_TABLE;
- mReqChairID=INVALID_CHAIR;
- //快速模式的
- this.IntermitConnect(true);
- //TODO:
- //if (this.mIServerItemSink)
- // this.mIServerItemSink.OnGFServerClose("");
- }
- return;
- }
- //加入处理
- if ((wNowTableID!=INVALID_TABLE)&&((wNowTableID!=wLastTableID)||(wNowChairID!=wLastChairID)))
- {
- //自己判断
- if (this.mMeUserItem==pIClientUserItem)
- {
- //设置变量
- this.mReqTableID=INVALID_TABLE;
- this.mReqChairID=INVALID_CHAIR;
- if (pClientKernel==0){
- //启动进程
- if (!this.mIServerItemSink || !this.mIServerItemSink.CreateKernel()){
- this.OnGFGameClose(GameExitCode_CreateFailed);
- return;
- }
- } else {
- this.mMeUserItem = pIClientUserItem;
- IServerItem.get().OnGFGameReady();
- }
- }
- //游戏通知
- if ((this.mMeUserItem!=pIClientUserItem || this.mMeUserItem.GetUserStatus() == US_LOOKON)&&pMeUserInfo.wTableID==wNowTableID){
- if (pClientKernel) pClientKernel.OnGFUserEnter(pIClientUserItem);
- }
- return;
- }
- //状态改变
- if ((wNowTableID!=INVALID_TABLE)&&(wNowTableID==wLastTableID)&&(pMeUserInfo.wTableID==wNowTableID)){
- //游戏通知
- UserStatus = new tagUserStatus();
- UserStatus.wTableID=wNowTableID;
- UserStatus.wChairID=wNowChairID;
- UserStatus.cbUserStatus=cbNowStatus;
- if (pClientKernel) pClientKernel.OnGFUserStatus(pUserInfo.dwUserID,UserStatus);
- }
- },
- OnUserScoreUpdate: function(pIClientUserItem, UserScore) {
- // 获取客户端内核对象
- var pClientKernel = gClientKernel.get();
- // 如果客户端内核对象存在,则调用其OnGFUserScore方法更新用户分数
- if (pClientKernel) pClientKernel.OnGFUserScore(pIClientUserItem.GetUserID(), UserScore);
- },
- OnUserFlowerUpdate: function(pIClientUserItem, UserFlower) {
- // 获取客户端内核对象
- var pClientKernel = gClientKernel.get();
- // 如果客户端内核对象存在,则调用其OnGFUserFlower方法更新用户鲜花
- if (pClientKernel) pClientKernel.OnGFUserFlower(pIClientUserItem.GetUserID(), UserFlower);
- },
- OnUserItemUpdate:function(pIClientUserItem, LastStatus){
- //变量定义
- var pUserInfo=pIClientUserItem.GetUserInfo();
- var pMeUserInfo=this.mMeUserItem.GetUserInfo();
- var wNowTableID=pIClientUserItem.GetTableID();
- var wLastTableID=LastStatus.wTableID;
- var wNowChairID=pIClientUserItem.GetChairID();
- var wLastChairID=LastStatus.wChairID;
- var cbNowStatus=pIClientUserItem.GetUserStatus();
- var cbLastStatus=LastStatus.cbUserStatus;
- var pClientKernel = gClientKernel.get();
- if (this.mIServerItemSink)
- this.mIServerItemSink.OnGRUserUpdate(pIClientUserItem);
- //桌子离开
- if ((wLastTableID!=INVALID_TABLE)&&((wLastTableID!=wNowTableID)||(wLastChairID!=wNowChairID))){
- var pITableUserItem = this.mTableViewFrame.GetClientUserItem(wLastTableID, wLastChairID);
- if (pITableUserItem == pIClientUserItem) this.mTableViewFrame.SetClientUserItem2(wLastTableID, wLastChairID, null);
- }
- //桌子加入
- if ((wNowTableID!=INVALID_TABLE)&&(cbNowStatus!=US_LOOKON)&&((wNowTableID!=wLastTableID)||(wNowChairID!=wLastChairID)))
- {
- this.mTableViewFrame.SetClientUserItem2(wNowTableID,wNowChairID,pIClientUserItem);
- }
- //桌子状态
- if ((this.mTableViewFrame.GetChairCount() < MAX_CHAIR)&&(wNowTableID!=INVALID_TABLE)&&(wNowTableID==wLastTableID)&&(wNowChairID==wLastChairID)){
- this.mTableViewFrame.UpdateTableView(wNowTableID);
- }
- //离开通知
- if ((wLastTableID!=INVALID_TABLE)&&((wNowTableID!=wLastTableID)||(wNowChairID!=wLastChairID)))
- {
- //游戏通知
- if ((pIClientUserItem==this.mMeUserItem)||(wLastTableID==pMeUserInfo.wTableID)) {
- var UserStatus = new tagUserStatus();
- UserStatus.wTableID=wNowTableID;
- UserStatus.wChairID=wNowChairID;
- UserStatus.cbUserStatus=cbNowStatus;
- if (pClientKernel) pClientKernel.OnGFUserStatus(pUserInfo.dwUserID, UserStatus);
- }
- if (pIClientUserItem==this.mMeUserItem){ //设置变量
- this.mReqTableID=INVALID_TABLE;
- this.mReqChairID=INVALID_CHAIR;
- }
- return;
- }
- //加入处理
- if ((wNowTableID!=INVALID_TABLE)&&((wNowTableID!=wLastTableID)||(wNowChairID!=wLastChairID))){
- //自己判断
- if (this.mMeUserItem==pIClientUserItem){
- //设置变量
- this.mReqTableID=INVALID_TABLE;
- this.mReqChairID=INVALID_CHAIR;
- if (!pClientKernel) {
- //启动进程
- if (!this.mIServerItemSink || !this.mIServerItemSink.CreateKernel()){
- this.OnGFGameClose(GameExitCode_CreateFailed);
- return;
- }
- } else {
- this.mMeUserItem = pIClientUserItem;
- this.OnGFGameReady();
- }
- }
- //游戏通知
- if ((this.mMeUserItem!=pIClientUserItem || this.mMeUserItem.GetUserStatus() == US_LOOKON)&&(pMeUserInfo.wTableID==wNowTableID)){
- if (pClientKernel) pClientKernel.OnGFUserEnter(pIClientUserItem);
- }
- return;
- }
- //状态改变
- if ((wNowTableID!=INVALID_TABLE)&&(wNowTableID==wLastTableID)&&(pMeUserInfo.wTableID==wNowTableID)){
- //游戏通知
- var UserStatus = new tagUserStatus();
- UserStatus.wTableID=wNowTableID;
- UserStatus.wChairID=wNowChairID;
- UserStatus.cbUserStatus=cbNowStatus;
- if (pClientKernel) pClientKernel.OnGFUserStatus(pUserInfo.dwUserID,UserStatus);
- return;
- }
- return;
- },
- //用户状态
- OnSocketSubUserStatus:function (data,dataSize) {
- var pUserStatus = new CMD_GR_UserStatus();
- //效验参数
- if (dataSize<gCByte.Bytes2Str(pUserStatus, data)) return false;
- //寻找用户
- var pIClientUserItem=this.mUserManager.SearchUserByUserID(pUserStatus.dwUserID);
- //用户判断
- if (pIClientUserItem==0) return true;
- //设置状态
- if (pUserStatus.UserStatus.cbUserStatus==US_NULL) {
- //删除用户
- this.mUserManager.DeleteUserItem(pIClientUserItem);
- }else{
- //更新用户
- this.mUserManager.UpdateUserItemStatus(pIClientUserItem, pUserStatus.UserStatus);
- }
- return true;
- },
- //发送坐下
- SendSitDownPacket:function (wTableID, wChairID)
- {
- var UserSitDown = new CMD_GR_UserSitDown();
- //构造数据
- UserSitDown.wTableID = wTableID;
- UserSitDown.wChairID = wChairID;
- UserSitDown.szPassword = "";
- this.SendSocketClass(MDM_GR_USER, SUB_GR_USER_SITDOWN, UserSitDown);
- return true;
- },
- //游戏消息
- //框架消息
- OnSocketMainGameFrame:function (main,sub, data, dataSize){
- if (!gClientKernel.get() || !this.mIsGameReady) return true;
- return gClientKernel.get().OnGFEventSocket(main, sub, data, dataSize);
- },
- //发送起立
- SendStandUpPacket:function (wTableID,wChairID,cbForceLeave)
- {
- //变量定义
- var UserStandUp = new CMD_GR_UserStandUp();
- //构造数据
- UserStandUp.wTableID = wTableID;
- UserStandUp.wChairID = wChairID;
- UserStandUp.cbForceLeave = parseInt(cbForceLeave);
- //发送数据
- this.SendSocketClass(MDM_GR_USER, SUB_GR_USER_STANDUP, UserStandUp);
- return true;
- },
- });
|