private void Start()
    {
        initializePoolWhenPlayerItemPrefabIsLoaded = false;
        profileDataList    = new List <ProfileData>();
        membershipDataList = new List <MembershipData>();
        pooledScrollRect   = GetComponentInChildren <VerticalGridPooledScrollRect>();
        addPooledScrollRectObservers();
        playerAvatarRenderer = GetComponent <AvatarImageComponent>();
        AvatarImageComponent avatarImageComponent = playerAvatarRenderer;

        avatarImageComponent.OnImageReady = (Action <DataEntityHandle, Texture2D>)Delegate.Combine(avatarImageComponent.OnImageReady, new Action <DataEntityHandle, Texture2D>(onImageReady));
        initPlayersList();
        dataEntityCollection.EventDispatcher.AddListener <DataEntityEvents.ComponentAddedEvent <ProfileData> >(onProfileDataAdded);
        dataEntityCollection.EventDispatcher.AddListener <DataEntityEvents.ComponentAddedEvent <MembershipData> >(onMembershipDataAdded);
        PromptManager promptManager = Service.Get <PromptManager>();

        promptManager.PromptCreated = (Action <GameObject>)Delegate.Combine(promptManager.PromptCreated, new Action <GameObject>(onPromptCreated));
        List <string> playerSwids = getPlayerSwids();

        if (playerSwids.Count > 0)
        {
            Service.Get <INetworkServicesManager>().PlayerStateService.GetOnlinePlayersBySwids(playerSwids);
        }
        else
        {
            onlineStatusReceived = true;
        }
        Content.LoadAsync(onPlayerItemPrefabLoaded, PlayerItemContentKey);
        start();
        isInitialized = true;
    }