Example #1
0
    private void CreateFriendCreatureIcon()
    {
        _vFriend vFriends = UserInfo.Instance.FriendInfo.vFriends;

        if (vFriends == null)
        {
            return;
        }

        DestroyFriendCreatureIcon();

        for (int i = 0; i < vFriends.Count; ++i)
        {
            CFriend friendInfo = vFriends[i];
            if (friendInfo == null)
            {
                continue;
            }

            DATA_CREATURE_NEWVER pCreatureData = CDATA_CREATURE_NEWVER.Get(friendInfo.kCreatureID);
            if (pCreatureData.m_iGrade < (int)m_DispatchTableData.RequireGrade)      // 필요등급 검사
            {
                continue;
            }

            DispatchTeamItemFriend friendItem = UIResourceMgr.CreatePrefab <DispatchTeamItemFriend>(BUNDLELIST.PREFABS_UI_DISPATCH, m_FriendListGrid.transform, "DispatchTeamItemFriend");
            friendItem.Init(friendInfo, pCreatureData);
            UIEventListener.Get(friendItem.gameObject).onClick = OnClickFriendItem;

            _FriendList.Add(friendItem);
        }

        FriendListResetPosition();
    }
    /// <summary>
    /// 친구신청 버튼.
    /// </summary>
    /// <param name="go"></param>
    private void AddFriendEvent(GameObject go)
    {
        if (go != null)
        {
            SoundManager.Instance.PlayFX(enSoundFXUI.UI_GETFRIEND);
        }

        //if (m_AddFriendButton.state == ButtonState.Off)
        //    return;

        if (m_GuildUserTeamInfoAck.kDestCharNo == UserInfo.Instance.CharNo)
        {
            // 자기 자신에게 요청.
            SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(3954), StringTableManager.GetData(3332));
            return;
        }


        // FriendInfo
        {
            _vFriend Friends       = UserInfo.Instance.FriendInfo.vFriends;
            int      iFriendsCount = Friends.Count;

            for (int i = 0; i < iFriendsCount; ++i)
            {
                if (Friends[i].kFriendCharNo == m_GuildUserTeamInfoAck.kDestCharNo)
                {
                    // 이미 친구.
                    SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(3954), StringTableManager.GetData(3334));
                    return;
                }
            }
        }


        // AddFriendInfo
        {
            _vFriend AddFriends       = UserInfo.Instance.AddFriendInfo.vSendFriends;
            int      iAddFriendsCount = AddFriends.Count;

            if (iAddFriendsCount >= m_iFriendsSendMax)
            {
                // 친구 최대치.
                SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(3954), StringTableManager.GetData(3341));
                return;
            }

            for (int i = 0; i < iAddFriendsCount; ++i)
            {
                if (AddFriends[i].kFriendCharNo == m_GuildUserTeamInfoAck.kDestCharNo)
                {
                    //이미 친구 신청한 상대.
                    SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(3954), StringTableManager.GetData(3335));
                    return;
                }
            }
        }


        // RecvFriendInfo
        {
            _vFriend RecvFriends       = UserInfo.Instance.RecvFriendInfo.vRecvFriends;
            int      iRecvFriendsCount = RecvFriends.Count;

            for (int i = 0; i < iRecvFriendsCount; ++i)
            {
                if (RecvFriends[i].kCharNo == m_GuildUserTeamInfoAck.kDestCharNo)
                {
                    //상대방이 친구 신청한 상대.
                    SystemPopupWindow.Instance.SetSystemPopup(enSystemPopupType.Ok, StringTableManager.GetData(3954), StringTableManager.GetData(3336));
                    return;
                }
            }
        }

        string str = string.Format(StringTableManager.GetData(3944), m_GuildUserTeamInfoAck.kCharSimpleInfo.kDestCharName);

        SystemPopupWindow.Instance.OpenSystemPopUp(enSystemPopupType.YesNo, StringTableManager.GetData(3954), str, OnAddFriendOK);
    }