Esempio n. 1
0
    void responseAddFriend(C_BasePacket curEventData)
    {
        C_BaseSocialPacket data = (C_BaseSocialPacket)curEventData;

        if (data.m_socialType != SocialPacketType.packetTypeSocialAddFriendResponse)
        {
            return;
        }

        C_SocialPacketAddFriendResponse curData = (C_SocialPacketAddFriendResponse)data;

        stopWaiting();

        if (curData.m_success) // 신청 성공
        {
            clearSearchZone();
            ((ResultUI)m_uiList[(int)INDEX_OF_FRIEND_UI.RESULT_UI]).setResultMSG("친구 추가 신청 완료!");
            openUI((int)INDEX_OF_FRIEND_UI.RESULT_UI);
        }
        else        // 실패 recv 시 실패 팝업
        {
            string errorMSG = "";

            switch (curData.m_errorCode)
            {
            case ErrorTypeAddFriend.none:
                errorMSG = "알수 없는 이유로 친구 추가 실패";
                break;

            case ErrorTypeAddFriend.notExistPlayer:
                break;

            case ErrorTypeAddFriend.srcFriendListIsFull:
                break;

            case ErrorTypeAddFriend.destFriendListIsFull:
                break;

            case ErrorTypeAddFriend.destFriendRequestListIsFull:
                break;

            case ErrorTypeAddFriend.alreadySendRequest:
                break;

            case ErrorTypeAddFriend.count:
                break;
            }



            ((ResultUI)m_uiList[(int)INDEX_OF_FRIEND_UI.RESULT_UI]).setResultMSG(errorMSG);  // 실패 recv 시 실패 팝업 return
            openUI((int)INDEX_OF_FRIEND_UI.RESULT_UI);
        }
    }
Esempio n. 2
0
    public void sendChat()
    {
        // 채팅 시간 제한
        if (m_fCurLimitTime > 0)
        {
            return;
        }
        // 채팅 길이 체크
        if (m_chatIF.text.Length <= 0)
        {
            return;
        }

        string           target  = null;
        string           msg     = null;
        SocialPacketType curType = checkMsg(m_chatIF.text, out target, out msg);

        C_BaseSocialPacket curData = null;

        switch (curType)
        {
        case SocialPacketType.packetTypeSocialNone:                     // 잘못된 양식일 때
            focusIF();
            return;

        case SocialPacketType.packetTypeSocialChatNormalRequest:
            C_SocialPacketChatNormalRequest realData = new C_SocialPacketChatNormalRequest();
            realData.m_message = msg;
            curData            = realData;
            break;

        case SocialPacketType.packetTypeSocialChatFriendRequest:
            break;

        case SocialPacketType.packetTypeSocialChatGuildRequest:
            break;
        }

        if (curData == null)
        {
            return;
        }
        GameManager.m_Instance.makePacket(curData);

        focusIF();
        m_fCurLimitTime = m_fChatLimitTime;
        m_bNowWhisper   = false;
    }
Esempio n. 3
0
    void responseAcceptFriendResponse(C_BasePacket eventData)
    {
        if (eventData.m_basicType != BasePacketType.basePacketTypeSocial)
        {
            return;
        }
        C_BaseSocialPacket data = (C_BaseSocialPacket)eventData;

        if (data.m_socialType != SocialPacketType.packetTypeSocialAcceptFriendResponse)
        {
            return;
        }
        C_SocialPacketAcceptFriendResponse curData = (C_SocialPacketAcceptFriendResponse)data;

        stopWaiting();
        Debug.Log("수락 응답 처리");
    }
Esempio n. 4
0
    void responseChat(C_BasePacket data)
    {
#if DEBUGMODE
        m_chatBox.updateChat(data);
        C_BaseSocialPacket curData = (C_BaseSocialPacket)data;
        if (curData.m_socialType != SocialPacketType.packetTypeSocialChatNormalResponse)
        {
            return;
        }
        C_SocialPacketChatNormalResponse normalData = (C_SocialPacketChatNormalResponse)curData;

        userInfoPrefab clientUser = m_userInfoList.Find((x) => { return(x.getNickName() == normalData.m_nickname); });
        if (clientUser)
        {
            clientUser.chating(normalData.m_message);
        }
#endif
    }
Esempio n. 5
0
    /// <summary>
    /// 친구 리스트 response process
    /// </summary>
    /// <param name="curEventData"></param>
    void responseFriendList(C_BasePacket curEventData)
    {
        C_BaseSocialPacket data = (C_BaseSocialPacket)curEventData;

        if (data.m_socialType != SocialPacketType.packetTypeSocialFriendListResponse)
        {
            return;
        }
        C_SocialPacketFriendListResponse curData = (C_SocialPacketFriendListResponse)data;

        if (curData.m_size > 0)
        {
            m_PlzAddFriendText.SetActive(false);
            for (int i = 0; i < curData.m_size; ++i)                  // 일단, 임시로 5명의 친구를 추가
            {
                S_FriendInfo newInfo = new S_FriendInfo();            // info 객체 생성
                newInfo.m_nickName = curData.m_friends[i];
                makeFriendSlot(newInfo);                              // 객체 생성
            }
            // recttransform resizing
            m_ParentOfFriendList.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 10 + m_SlotSizeOffsetY * m_FriendList.Count);
        }
    }
Esempio n. 6
0
    void responseConfirmFriend(C_BasePacket eventData)
    {
        C_BaseSocialPacket data = (C_BaseSocialPacket)eventData;

        if (data.m_socialType != SocialPacketType.packetTypeSocialConfirmFriendResponse)
        {
            return;
        }

        C_SocialPacketConfirmFriendResponse curData = (C_SocialPacketConfirmFriendResponse)data;

        if (curData.m_size > 0)
        {
            m_emptyConfirnFriendText.SetActive(false);
            m_parentOfConfirnFriendList.gameObject.SetActive(true);

            // list make
            for (int i = 0; i < curData.m_size; ++i)
            {
                confirnFriendSlot slot = Instantiate(m_confirnSlotPrefabs, m_parentOfConfirnFriendList).GetComponent <confirnFriendSlot>();
                slot.setSlot(curData.m_names[i], AcceptFriendRequest);
                m_confirnSlotList.Add(slot);
            }
            m_parentOfConfirnFriendList.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,
                                                                  10 + m_confirnSlotSizeOffsetY * m_confirnSlotList.Count);
            m_newConfirnFriendICON.SetActive(true);
        }
        else
        {
            m_parentOfConfirnFriendList.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,
                                                                  10);
            m_newConfirnFriendICON.SetActive(false);
            // 요청이 없습니다.Text
            m_emptyConfirnFriendText.SetActive(true);
            m_parentOfConfirnFriendList.gameObject.SetActive(false);
        }
    }
Esempio n. 7
0
    public void updateChat(C_BasePacket chat)
    {
        if (chat.m_basicType != BasePacketType.basePacketTypeSocial)
        {
            return;
        }
        C_BaseSocialPacket data = (C_BaseSocialPacket)chat;

        if (((data.m_socialType == SocialPacketType.packetTypeSocialChatFriendResponse) ||
             (data.m_socialType == SocialPacketType.packetTypeSocialChatGuildResponse) ||
             (data.m_socialType == SocialPacketType.packetTypeSocialChatNormalResponse)) == false)
        {
            return;
        }


        RectTransform curParent   = null;
        string        curChatText = string.Empty;
        Color         color       = Color.white;
        ScrollRect    curRect     = null;

        switch (data.m_socialType)
        {
        case SocialPacketType.packetTypeSocialChatNormalResponse:
            C_SocialPacketChatNormalResponse curData = (C_SocialPacketChatNormalResponse)data;
            curParent   = m_chatBoxParentRectTransform_All;
            curChatText = curData.m_nickname + " : " + curData.m_message;
            curRect     = m_scrollRect_All;
            if (m_curChatType != CHAT_TYPE.ALL_CHAT)
            {
                m_NewIcon_AllTab.SetActive(true);
            }
            break;

        case SocialPacketType.packetTypeSocialChatFriendResponse:
            //C_SocialPacketChatRornalResponse curData = (C_SocialPacketChatRornalResponse)data;
            //curParent = m_chatBoxParentRectTransform_Whisper;
            //curChatText = chat.m_source + "->" + chat.m_target + " : " + chat.m_message;
            //curRect = m_scrollRect_Whisper;
            //color = Color.red;
            //// 채팅 탭이 현재 같은 타입 아니라면 new icon
            //if (m_curChatType != CHAT_TYPE.WHISPER_CHAT)
            //{
            //    // 유저가 쓴 귓속말이 아니면 new icon
            //    if (GameManager.m_Instance.getUserID().CompareTo(chat.m_source) != 0)
            //        m_NewIcon_WhisperTab.SetActive(true);
            //}
            break;

        case SocialPacketType.packetTypeSocialChatGuildResponse:
            //curParent = m_chatBoxParentRectTransform_Guild;
            //curChatText = chat.m_source + " : " + chat.m_message;
            //curRect = m_scrollRect_Guild;
            //if (m_curChatType != CHAT_TYPE.GUILD_CHAT)
            //    m_NewIcon_GuildTab.SetActive(true);
            break;
        }
        textController curTextController = Instantiate(m_TextPrefab, curParent).GetComponent <textController>();

        curTextController.setText(curChatText, color);
        m_TextList.Add(curTextController.gameObject);
        curParent.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 10 + m_TextList.Count * m_offset_Y);
        curRect.normalizedPosition = Vector2.zero;
    }