private IEnumerator DoLeave(Action <bool> call_back, LoungeLeaveModel ret) { bool is_success = false; Error error = ret.Error; if (error == Error.None || error == Error.ERR_PARTY_NOT_FOUND_PARTY) { if (IsHostChange(ret.result.lounge, MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id)) { Lounge_Model_RoomHostChanged hostChange = new Lounge_Model_RoomHostChanged { id = 1005, hostid = ret.result.lounge.ownerUserId }; MonoBehaviourSingleton <LoungeNetworkManager> .I.SendBroadcast(hostChange, false, null, null); yield return((object)0); } is_success = true; Lounge_Model_RoomLeaved packet = new Lounge_Model_RoomLeaved { id = 1005, token = GenerateToken(), cid = MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id }; MonoBehaviourSingleton <LoungeNetworkManager> .I.SendBroadcast(packet, false, (Coop_Model_ACK ack) => true, null); MonoBehaviourSingleton <ChatManager> .I.DestroyLoungeChat(); StopAFKCheck(); ClearLounge(); Dirty(); } call_back(is_success); }
public static CoopPacket CreateLoopBackRoomLeavedPacket() { Lounge_Model_RoomLeaved lounge_Model_RoomLeaved = new Lounge_Model_RoomLeaved(); lounge_Model_RoomLeaved.id = 1000; lounge_Model_RoomLeaved.cid = MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id; lounge_Model_RoomLeaved.token = MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id.ToString(); return(CoopPacket.Create(lounge_Model_RoomLeaved, -1000, -2000, false, -8989)); }
public bool OnRecvRoomLeaved(Lounge_Model_RoomLeaved model) { Logd("OnRecvRoomLeaved. cid={0}", model.cid); if (model.cid != MonoBehaviourSingleton <UserInfoManager> .I.userInfo.id) { string text = string.Empty; LoungeModel.SlotInfo slotInfoByUserId = MonoBehaviourSingleton <LoungeMatchingManager> .I.GetSlotInfoByUserId(model.cid); if (slotInfoByUserId != null) { text = slotInfoByUserId.userInfo.name; } else if (MonoBehaviourSingleton <InGameRecorder> .IsValid()) { InGameRecorder.PlayerRecord playerByUserId = MonoBehaviourSingleton <InGameRecorder> .I.GetPlayerByUserId(model.cid); if (playerByUserId != null) { text = playerByUserId.charaInfo.name; } } if (chatConnection != null && !string.IsNullOrEmpty(text)) { chatConnection.OnReceiveNotification(StringTable.Format(STRING_CATEGORY.LOUNGE, 11u, text)); } } if (FieldManager.IsValidInGame()) { Protocol.Try(delegate { MonoBehaviourSingleton <LoungeMatchingManager> .I.SendInfo(delegate { }, false); }); } if (MonoBehaviourSingleton <LoungeManager> .IsValid()) { MonoBehaviourSingleton <LoungeManager> .I.OnRecvRoomLeaved(model.cid); } return(true); }
protected override bool HandleCoopEvent(CoopPacket packet) { bool result = false; switch (packet.packetType) { case PACKET_TYPE.LOUNGE_ROOM_JOINED: { Lounge_Model_RoomJoined model14 = packet.GetModel <Lounge_Model_RoomJoined>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomJoined(model14); break; } case PACKET_TYPE.LOUNGE_ROOM_LEAVED: { Lounge_Model_RoomLeaved model13 = packet.GetModel <Lounge_Model_RoomLeaved>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomLeaved(model13); break; } case PACKET_TYPE.LOUNGE_ROOM_ACTION: { Lounge_Model_RoomAction model12 = packet.GetModel <Lounge_Model_RoomAction>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomAction(model12); break; } case PACKET_TYPE.LOUNGE_ROOM_MOVE: { Lounge_Model_RoomMove model11 = packet.GetModel <Lounge_Model_RoomMove>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomMove(model11); break; } case PACKET_TYPE.LOUNGE_ROOM_POSITION: { Lounge_Model_RoomPosition model10 = packet.GetModel <Lounge_Model_RoomPosition>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomPoisition(model10); break; } case PACKET_TYPE.LOUNGE_ROOM_KICK: { Lounge_Model_RoomKick model9 = packet.GetModel <Lounge_Model_RoomKick>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomKick(model9); break; } case PACKET_TYPE.LOUNGE_ROOM_AFK_KICK: { Lounge_Model_AFK_Kick model8 = packet.GetModel <Lounge_Model_AFK_Kick>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomAFKKick(model8); break; } case PACKET_TYPE.LOUNGE_ROOM_HOST_CHANGED: { Lounge_Model_RoomHostChanged model7 = packet.GetModel <Lounge_Model_RoomHostChanged>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvRoomHostChanged(model7); break; } case PACKET_TYPE.LOUNGE_MEMBER_LOUNGE: { Lounge_Model_MemberLounge model6 = packet.GetModel <Lounge_Model_MemberLounge>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvMemberLounge(model6); break; } case PACKET_TYPE.LOUNGE_MEMBER_FIELD: { Lounge_Model_MemberField model5 = packet.GetModel <Lounge_Model_MemberField>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvMemberField(model5); break; } case PACKET_TYPE.LOUNGE_MEMBER_QUEST: { Lounge_Model_MemberQuest model4 = packet.GetModel <Lounge_Model_MemberQuest>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvMemberQuest(model4); break; } case PACKET_TYPE.LOUNGE_MEMBER_ARENA: { Lounge_Model_MemberArena model3 = packet.GetModel <Lounge_Model_MemberArena>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvMemberArena(model3); break; } case PACKET_TYPE.CHAT_MESSAGE: { Coop_Model_StageChatMessage model2 = packet.GetModel <Coop_Model_StageChatMessage>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvChatMessage(model2); break; } case PACKET_TYPE.STAGE_CHAT_STAMP: { Coop_Model_StageChatStamp model = packet.GetModel <Coop_Model_StageChatStamp>(); result = MonoBehaviourSingleton <LoungeNetworkManager> .I.OnRecvChatStamp(model); break; } } return(result); }