Exemple #1
0
    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);
    }
Exemple #2
0
    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));
    }
Exemple #3
0
    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);
    }