void UpdateFriendsAvatars(ClientModel dataModel, MyParams p) { // Set avatars for friends + set their alpha to 1; int i = 0; int friendsCount = dataModel.friendsAvatarIds.Length; int limit = Mathf.Min(MAX_DISPLAYED_FRIENDS, friendsCount); for (; i < limit; i++) { friendsAvatarImages[i].sprite = p.sampleAvatarsDownsized[dataModel.friendsAvatarIds[i]]; friendsPanels[i].gameObject.SetActive(true); } // Hide the rest for (; i < MAX_DISPLAYED_FRIENDS; ++i) { friendsPanels[i].gameObject.SetActive(false); } // .. but fade the last 2, if the friends count is big enough if (friendsCount > MAX_DISPLAYED_FRIENDS - 1) { friendsPanelsCanvasGroups[MAX_DISPLAYED_FRIENDS - 1].alpha = .1f; } if (friendsCount > MAX_DISPLAYED_FRIENDS - 2) { friendsPanelsCanvasGroups[MAX_DISPLAYED_FRIENDS - 2].alpha = .4f; } }
public void UpdateViews(MyParams p) { var dataModel = p.Data[ItemIndex]; avatarImage.sprite = p.sampleAvatars[dataModel.avatarImageId]; nameText.text = dataModel.clientName + "(#" + ItemIndex + ")"; locationText.text = " " + dataModel.location; UpdateScores(dataModel); friendsText.text = dataModel.friendsAvatarIds.Length + (dataModel.friendsAvatarIds.Length == 1 ? " friend" : " friends"); if (dataModel.isOnline) { statusText.text = "Online"; statusText.color = Color.green; } else { statusText.text = "Offline"; statusText.color = Color.white * .8f; } UpdateFriendsAvatars(dataModel, p); if (expandCollapseComponent) { expandCollapseComponent.expanded = dataModel.expanded; expandCollapseComponent.nonExpandedSize = dataModel.nonExpandedSize; } }