/// <summary> /// Sets component data with specified item. /// </summary> /// <param name="newItem">Item.</param> public virtual void SetData(UBuddySessionListItem newItem) { item = newItem; if (item == null) { return; } SNSDataManager.BuddyInfo buddy = LogicDataCenter.snsDataManager.getBuddyInfoByUserID(newItem.UserID); HeadIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_PlayerHead, WndID.WND_ID_SNS_CHAT, 1, buddy.Info.nSex + 1); GameStateDesc.text = LogicDataCenter.snsDataManager.getBuddyStatusDesc(buddy); Name.text = getBuddyName(buddy); if (buddy.Info.nStatus == (int)ACTOR_GAME_STATE.GAME_STATE_OFFLINE) { GameStateIcon.gameObject.SetActive(false); HeadIcon.AddNewMaterial(EUIShaderType.EST_Gray); Name.color = Color.gray; GameStateDesc.color = Color.gray; } else { HeadIcon.ResetToDefaultMaterial(); GameStateIcon.gameObject.SetActive(true); GameStateIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_GameState, WndID.WND_ID_SNS_MAINPANEL, UDefines.GetGameStateIconID(buddy.Info.nStatus)); Name.color = Color.white; GameStateDesc.color = Color.white; } SelectedBg.gameObject.SetActive(item.isCurSession); }
private void onUpdateSessionList() { // 更新Session列表UI SessionListView.DataSource.BeginUpdate(); SessionListView.DataSource.Clear(); foreach (var session in m_SessionList) { UBuddySessionListItem item = new UBuddySessionListItem(); item.UserID = (int)session.Value.SessionID; item.isCurSession = (session.Value.SessionID == m_CurSessionID); SessionListView.DataSource.Add(item); } SessionListView.DataSource.EndUpdate(); }