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; }