68 lines
3.0 KiB
C#
68 lines
3.0 KiB
C#
using System;
|
|
using MotionFramework;
|
|
using UnityEngine;
|
|
|
|
namespace DefaultNamespace.Component
|
|
{
|
|
public class MyFriendComponent : MonoBehaviour
|
|
{
|
|
|
|
[SerializeField] private Transform contentParent;
|
|
[SerializeField] private GameObject friendItemPrefab;
|
|
async void Start()
|
|
{
|
|
try
|
|
{
|
|
Debug.Log("开始获取好友列表...");
|
|
var friendResponse = await MotionEngine.GetModule<UserDataNetworkManager>().GetMyFriend();
|
|
|
|
// 检查响应状态码
|
|
if (friendResponse != null && friendResponse.code == 0)
|
|
{
|
|
Debug.Log($"成功获取好友列表,共 {friendResponse.data?.data?.Length ?? 0} 个好友");
|
|
Debug.Log($"当前页码: {friendResponse.data?.page ?? "未知"}, 总页数: {friendResponse.data?.allPage ?? 0}");
|
|
|
|
// 处理好友数据
|
|
if (friendResponse.data?.data != null && friendResponse.data.data.Length > 0)
|
|
{
|
|
Debug.Log($"开始创建 {friendResponse.data.data.Length} 个好友项...");
|
|
|
|
foreach (var friend in friendResponse.data.data)
|
|
{
|
|
// 实例化好友项
|
|
var friendItem = Instantiate(friendItemPrefab, contentParent);
|
|
friendItem.SetActive(true);
|
|
|
|
// 获取或添加FriendItemComponent组件
|
|
var friendItemComponent = friendItem.GetComponent<FriendItemComponent>();
|
|
if (friendItemComponent == null)
|
|
{
|
|
friendItemComponent = friendItem.AddComponent<FriendItemComponent>();
|
|
Debug.Log($"为好友项 {friend.user_username} 添加了FriendItemComponent组件");
|
|
}
|
|
|
|
// 初始化好友项数据(异步下载头像)
|
|
friendItemComponent.InitializeFriendItem(friend);
|
|
|
|
Debug.Log($"好友项创建完成: {friend.user_username}, ID: {friend.friend_id}, 等级: {friend.user_honor_level}");
|
|
}
|
|
|
|
Debug.Log("所有好友项创建完成,头像将异步下载");
|
|
}
|
|
else
|
|
{
|
|
Debug.Log("当前没有好友");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Debug.LogWarning($"获取好友列表失败,状态码: {friendResponse?.code ?? -1}, 消息: {friendResponse?.msg ?? "未知错误"}");
|
|
}
|
|
}
|
|
catch (System.Exception ex)
|
|
{
|
|
Debug.LogError($"获取好友列表时发生异常: {ex.Message}");
|
|
}
|
|
}
|
|
}
|
|
} |