コード例 #1
0
ファイル: PropService.cs プロジェクト: smdx24/CPI-Source-Code
 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);
 }
コード例 #2
0
        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);
        }