private bool onJumpToPlayer(PlayerCardEvents.JoinPlayer evt) { if (IsLocalUserUsingProp()) { PropDefinition propDefinition = GetPropDefinition(LocalPlayerPropUser.Prop.PropId); PropDefinition.PropTypes propType = propDefinition.PropType; if (propType == PropDefinition.PropTypes.InteractiveObject) { LocalPlayerStoreProp(); } } return(false); }
private bool onJoinPlayer(PlayerCardEvents.JoinPlayer evt) { PresenceData component = dataEntityCollection.GetComponent <PresenceData>(Handle); PresenceData component2 = dataEntityCollection.GetComponent <PresenceData>(dataEntityCollection.LocalPlayerHandle); if (component == null || component2 == null) { return(false); } if (isLocalAndRemoteInTheSameRoom(component, component2)) { eventChannel.AddListener <FriendsServiceEvents.FriendLocationInRoomReceived>(onFriendLocationReceived); eventChannel.AddListener <FriendsServiceEvents.FriendNotInRoom>(onFriendNotInRoom); Service.Get <INetworkServicesManager>().FriendsService.GetFriendLocationInRoom(dataEntityCollection.GetComponent <SwidData>(Handle).Swid); } else { SpawnAtPlayerData spawnAtPlayerData = dataEntityCollection.AddComponent <SpawnAtPlayerData>(dataEntityCollection.LocalPlayerHandle); spawnAtPlayerData.PlayerSWID = dataEntityCollection.GetComponent <SwidData>(Handle).Swid; string onJoinNotificationTag = string.Empty; if (component.World != component2.World) { onJoinNotificationTag = "GlobalUI.Notification.WorldSwitched"; } if (component.IsInInstancedRoom) { Language language = Service.Get <Localizer>().Language; WorldDefinition world = Service.Get <ZoneTransitionService>().GetWorld(component.World); if (world != null) { language = world.Language; } Service.Get <ZoneTransitionService>().LoadIgloo(component.InstanceRoom, language, SceneStateData.SceneState.Play, "Loading", onJoinNotificationTag); } else { Service.Get <ZoneTransitionService>().LoadZone(component.Room, "Loading", component.World, onJoinNotificationTag); } } Service.Get <ICPSwrveService>().Action("game.friends", "jump"); return(false); }