コード例 #1
0
        protected virtual void onMembershipDataUpdated(MembershipData membershipData)
        {
            DataEntityHandle entityByComponent = dataEntityCollection.GetEntityByComponent(membershipData);
            int poolIndexFromHandle            = getPoolIndexFromHandle(entityByComponent);

            if (poolIndexFromHandle >= 0 && pooledScrollRect.IsIndexCellVisible(poolIndexFromHandle))
            {
                AbstractPlayerListItem component = pooledScrollRect.GetCellAtIndex(poolIndexFromHandle).GetComponent <AbstractPlayerListItem>();
                component.SetMembershipType(getMembershipType(entityByComponent));
            }
        }
コード例 #2
0
        private void onImageReady(DataEntityHandle handle, Texture2D icon)
        {
            int poolIndexFromHandle = getPoolIndexFromHandle(handle);

            if (poolIndexFromHandle >= 0 && pooledScrollRect.IsIndexCellVisible(poolIndexFromHandle))
            {
                AbstractPlayerListItem component = pooledScrollRect.GetCellAtIndex(poolIndexFromHandle).GetComponent <AbstractPlayerListItem>();
                component.SetPreloaderActive(isActive: false);
                component.SetAvatarIcon(icon);
                component.SetAvatarIconActive(isActive: true);
            }
        }
コード例 #3
0
        protected virtual void onProfileDataUpdated(ProfileData profileData)
        {
            DataEntityHandle entityByComponent = dataEntityCollection.GetEntityByComponent(profileData);
            int poolIndexFromHandle            = getPoolIndexFromHandle(entityByComponent);

            if (poolIndexFromHandle >= 0 && pooledScrollRect.IsIndexCellVisible(poolIndexFromHandle))
            {
                string displayName = dataEntityCollection.GetComponent <DisplayNameData>(entityByComponent).DisplayName;
                AbstractPlayerListItem component = pooledScrollRect.GetCellAtIndex(poolIndexFromHandle).GetComponent <AbstractPlayerListItem>();
                bool flag = getIsOnline(entityByComponent) || !ShowPlayerOfflineState;
                component.SetOnlineStatus(flag);
                component.UpdateProfileData(profileData);
                renderPlayer(component, entityByComponent, displayName, flag);
            }
        }
コード例 #4
0
        protected virtual void onObjectRemoved(RectTransform item, int poolIndex)
        {
            AbstractPlayerListItem component = item.GetComponent <AbstractPlayerListItem>();

            component.Reset();
            DataEntityHandle handleFromPoolIndex = getHandleFromPoolIndex(poolIndex);

            if (!handleFromPoolIndex.IsNull)
            {
                string displayName = dataEntityCollection.GetComponent <DisplayNameData>(handleFromPoolIndex).DisplayName;
                if (playerAvatarRenderer.IsRenderInProgress(displayName))
                {
                    playerAvatarRenderer.CancelRender(displayName);
                }
            }
        }
コード例 #5
0
        protected virtual void setUpObject(RectTransform item, int poolIndex)
        {
            AbstractPlayerListItem component           = item.GetComponent <AbstractPlayerListItem>();
            DataEntityHandle       handleFromPoolIndex = getHandleFromPoolIndex(poolIndex);
            AbstractPlayerListItem component2          = item.GetComponent <AbstractPlayerListItem>();
            string displayName2 = (component2.Name = dataEntityCollection.GetComponent <DisplayNameData>(handleFromPoolIndex).DisplayName);

            component2.SetPlayer(handleFromPoolIndex);
            ProfileData component3;
            bool        flag = dataEntityCollection.TryGetComponent <ProfileData>(handleFromPoolIndex, out component3);

            if (!flag)
            {
                Service.Get <OtherPlayerDetailsRequestBatcher>().RequestOtherPlayerDetails(handleFromPoolIndex);
            }
            if (flag)
            {
                bool flag2 = getIsOnline(handleFromPoolIndex) || !ShowPlayerOfflineState;
                component.SetOnlineStatus(flag2);
                renderPlayer(component, handleFromPoolIndex, displayName2, flag2);
            }
        }
コード例 #6
0
 protected void renderPlayer(AbstractPlayerListItem playerListItem, DataEntityHandle handle, string displayName, bool isOnline)
 {
     if (!playerListItem.IsRendered)
     {
         playerListItem.IsRendered = true;
         playerListItem.SetPreloaderActive(isActive: true);
         playerListItem.SetAvatarIconActive(isActive: false);
         if (playerAvatarRenderer.IsRenderInProgress(displayName))
         {
             playerAvatarRenderer.CancelRender(displayName);
         }
         if (isOnline)
         {
             AvatarAnimationFrame avatarAnimationFrame = new AvatarAnimationFrame(IdlePenguinState, 0.5f);
             playerAvatarRenderer.RequestImage(handle, avatarAnimationFrame, "FriendsListIdle");
         }
         else
         {
             AvatarAnimationFrame avatarAnimationFrame = new AvatarAnimationFrame(SleepingPenguinState, 0.75f);
             playerAvatarRenderer.RequestImage(handle, avatarAnimationFrame, "FriendsListSleeping");
         }
     }
 }