public void SetUI(List <MyRoomEntity> lst, bool canInvite) { for (int i = 0; i < m_Cache.Count; ++i) { m_Cache[i].gameObject.SetActive(false); } UIViewManager.Instance.LoadItemAsync("uiitemmyroom", (GameObject go) => { for (int i = 0; i < lst.Count; ++i) { MyRoomEntity entity = lst[i]; UIItemMyRoom item = null; if (i < m_Cache.Count) { item = m_Cache[i]; item.gameObject.SetActive(true); } else { go = Instantiate(go); go.SetParent(m_Container); item = go.GetComponent <UIItemMyRoom>(); m_Cache.Add(item); } item.SetUI(entity.roomId, entity.gameName, entity.loop, entity.maxLoop, entity.player, entity.maxPlayer, entity.ownerName, entity.payment, onJoinClick, onInviteClick, onPlayerClick, canInvite); } }); }
/// <summary> /// 我的房间界面玩家人数按钮点击 /// </summary> /// <param name="roomId"></param> /// <param name="container"></param> private void OnMyRoomPlayerClick(int roomId, Transform container) { MyRoomEntity entity = m_RoomList.Find(p => p.roomId == roomId); m_UIMyRoomView.SetPlayerView(entity.players, container, entity.maxPlayer); }
/// <summary> /// 我的房间界面邀请按钮点击 /// </summary> /// <param name="roomId"></param> private void OnMyRoomInviteClick(int roomId) { MyRoomEntity entity = m_RoomList.Find(p => p.roomId == roomId); ShareCtrl.Instance.InviteFriend(entity.roomId, entity.gameId, entity.roomSetting); }