예제 #1
0
 protected override void OnDisconnect(PhotonHostRuntimeInterfaces.DisconnectReason reasonCode, string reasonDetail)
 {
     Debug.Log("1111111111111111111111111: " + string.Format("OnDisconnect: conId={0}, reason={1}, reasonDetail={2}, playerscount = {3}, teamscount = {4}", ConnectionId, reasonCode, reasonDetail, Actor.Instance.Size, RoomInstance.instance.Size));
     HandleDisconnectOperation();
     Debug.Log("2222222222222222222222222: " + string.Format("OnDisconnect: conId={0}, reason={1}, reasonDetail={2}, playerscount = {3}, teamscount = {4}", ConnectionId, reasonCode, reasonDetail, Actor.Instance.Size, RoomInstance.instance.Size));
     //this.Dispose();
 }
예제 #2
0
        protected override void OnDisconnect(PhotonHostRuntimeInterfaces.DisconnectReason reasonCode, string reasonDetail)
        {
            // 断开连接时候需要从队伍中剔除该用户
            MyGameApplication.MyInstance.RemovePeer(m_strRoomID, this);

            // 断开连接时候需要从已经创建了怪物列表中剔除该用户
            if (MyGameApplication.MyInstance.m_pInitMonsterPeer.Contains(this))
            {
                MyGameApplication.MyInstance.m_pInitMonsterPeer.Remove(this);
            }

            // 清除MonsterManager
            if (m_monsterManager != null)
            {
                m_monsterManager.Clear();
            }

            // 玩家掉线,通知队伍玩家删除自己
            HandlerBase curHandler = null;

            // 获取对应的Handler
            MyGameApplication.MyInstance.m_DicHandler.TryGetValue((byte)OperationCode.RemoveTeamRole, out curHandler);
            if (curHandler != null)
            {
                BattleHandler h = (BattleHandler)curHandler;
                h.RemoveTeamRole(this);
            }
            m_curRole = null;
            m_curUser = null;
            log.Debug("A Peer Is Disconnect");
        }
예제 #3
0
 protected override void OnDisconnect(PhotonHostRuntimeInterfaces.DisconnectReason reasonCode, string reasonDetail)
 {
     if (TaidouApplication.Instance.clientPeerListForTeam.Contains(this))
     {
         TaidouApplication.Instance.clientPeerListForTeam.Remove(this);
     }
     log.Debug("A client is disconnect.");
 }
예제 #4
0
        protected override void OnDisconnect(PhotonHostRuntimeInterfaces.DisconnectReason reasonCode, string reasonDetail)
        {
            game_app.removeClientPeer(this);

            if (is_led)
            {
                Log.Warn("----------------- LED Disconnect! -----------------");
                game_app.checkLed();
                game_app.killAllPeer();
            }
        }
예제 #5
0
 protected override void OnDisconnect(PhotonHostRuntimeInterfaces.DisconnectReason reasonCode, string reasonDetail)
 {
     log.DebugFormat("GamePeer Disconnected. Reason: {0}, {1}", reasonCode, reasonDetail);
     GameServerManager.gameCore.HandleDisconnect(this);
 }
예제 #6
0
 protected override void OnDisconnect(PhotonHostRuntimeInterfaces.DisconnectReason reasonCode, string reasonDetail)
 {
     //失去连接时要处理的事项,例如释放资源
 }