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));
        }
    }
    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);
        }
    }
    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);
        }
    }
    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);
            }
        }
    }
Exemple #5
0
        protected override void setUpObject(RectTransform item, int poolIndex)
        {
            base.setUpObject(item, poolIndex);
            IglooListItem    component           = item.GetComponent <IglooListItem>();
            DataEntityHandle handleFromPoolIndex = getHandleFromPoolIndex(poolIndex);

            if (dataEntityCollection.TryGetComponent <ProfileData>(handleFromPoolIndex, out var component2) && dataEntityCollection.TryGetComponent <IglooListingData>(handleFromPoolIndex, out var component3))
            {
                RoomPopulation population = new RoomPopulation(new RoomIdentifier(), component3.RoomPopulation);
                component.SetPopulation(population, isFull: false, component2.HasPublicIgloo);
            }
            if (dataEntityCollection.TryGetComponent <MembershipData>(handleFromPoolIndex, out var _))
            {
                AbstractPlayerListItem component5 = item.GetComponent <AbstractPlayerListItem>();
                component5.SetMembershipType(getMembershipType(handleFromPoolIndex));
            }
        }
    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(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);
        }
    }
 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");
         }
     }
 }