private void setUpNameTag(DataEntityHandle handle, bool isLocalPlayer) { if (handle.IsNull || !dataEntityCollection.TryGetComponent <SessionIdData>(handle, out var component)) { return; } long sessionId = component.SessionId; string displayName = dataEntityCollection.GetComponent <DisplayNameData>(handle).DisplayName; bool flag = dataEntityCollection.HasComponent <FriendData>(handle); if (!activePlayerNameTags.ContainsKey(sessionId)) { PlayerNameTag playerNameTagFromPool = getPlayerNameTagFromPool(); if (isLocalPlayer) { playerNameTagFromPool.transform.SetParent(LocalPlayerContainer, worldPositionStays: false); playerNameTagFromPool.SetNameTagType(PlayerNameTag.Type.LocalPlayer); } else if (flag) { playerNameTagFromPool.transform.SetParent(FriendPlayersContainer, worldPositionStays: false); playerNameTagFromPool.SetNameTagType(PlayerNameTag.Type.Friend); } else { playerNameTagFromPool.transform.SetParent(RemotePlayersContainer, worldPositionStays: false); playerNameTagFromPool.SetNameTagType(PlayerNameTag.Type.RemotePlayer); } playerNameTagFromPool.Handle = handle; playerNameTagFromPool.SetNameText(displayName); playerNameTagFromPool.transform.localScale = Vector3.one; playerNameTagFromPool.transform.localRotation = Quaternion.identity; Transform transform = getTransform(sessionId); if (transform != null) { CameraCullingMaskHelper.SetLayerIncludingChildren(playerNameTagFromPool.transform, LayerMask.LayerToName(transform.gameObject.layer)); } activePlayerNameTags.Add(sessionId, new PlayerNameTagAndRectTransform(playerNameTagFromPool, playerNameTagFromPool.GetComponent <RectTransform>())); if (this.OnPlayerNameAdded != null) { this.OnPlayerNameAdded(sessionId); } if (!nameTagsActive) { playerNameTagFromPool.SetActive(isActive: false); } } }
private bool onFriendsListUpdated(FriendsServiceEvents.FriendsListUpdated evt) { foreach (KeyValuePair <long, PlayerNameTagAndRectTransform> activePlayerNameTag in activePlayerNameTags) { PlayerNameTag playerNameTag = activePlayerNameTag.Value.PlayerNameTag; if (playerNameTag.CurrentType != 0) { if (dataEntityCollection.HasComponent <FriendData>(playerNameTag.Handle)) { playerNameTag.transform.SetParent(FriendPlayersContainer, worldPositionStays: false); playerNameTag.SetNameTagType(PlayerNameTag.Type.Friend); } else { playerNameTag.transform.SetParent(RemotePlayersContainer, worldPositionStays: false); playerNameTag.SetNameTagType(PlayerNameTag.Type.RemotePlayer); } } } return(false); }