void makeFriendSlot(S_FriendInfo info) { friendSlot newSlot = (Instantiate(m_FriendSlotPrefab, m_ParentOfFriendList).GetComponent <friendSlot>()); // slot 생성 newSlot.setSlot(info, requestDeleteFriend, clickWhisper); // 각 slot에 deleteFriend함수 연결시켜줘야함 m_FriendList.Add(newSlot); // add list }
/// <summary> /// 삭제 버튼 클릭 이벤트 세팅 /// </summary> public void setSlot(S_FriendInfo info, dClickEvent funcDelete, dClickEvent funcWhisper) { m_friendInfo = info; m_dDeletClickEvent = null; m_dDeletClickEvent += funcDelete; m_dWhisperClickEvent = null; m_dWhisperClickEvent += funcWhisper; m_userNicknameText.text = m_friendInfo.m_nickName; }
/// <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); } }