Exemplo n.º 1
0
        private void OnDisconnect(Session c)
        {
            if (c == null)
            {
                return;
            }

            int id = c.id;


            int roleId = 0;

            for (int i = 0; i < mUserList.Count; ++i)
            {
                if (mUserList[i].client == c)
                {
                    roleId = mUserList[i].roleid;
                    mUserList.RemoveAt(i);
                    break;
                }
            }
            Debug.Log(string.Format("{0} roleid={1}  disconnected!", id, roleId), ConsoleColor.Red);

            //如果列表内的准备人数为零了 就表示游戏没人玩,那么结束该局游戏


            GM_Disconnect sendData = new GM_Disconnect();

            sendData.roleId = roleId;

            BroadCast(MessageID.GM_DISCONNECT_BC, sendData);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 玩家断开连接
 /// </summary>
 /// <param name="recvData"></param>
 private void OnDisconnectBC(GM_Disconnect recvData)
 {
     if (recvData == null)
     {
         return;
     }
     PlayerManager.GetSingleton().RemovePlayerCharacter(recvData.roleId);
 }