Пример #1
0
        public void OnPropRetrieveCompleted()
        {
            if (PlayerHandle.IsNull)
            {
                return;
            }
            isPropAnimCompleted = true;
            checkRetrieveCompleted();
            HeldObjectsData component = dataEntityCollection.GetComponent <HeldObjectsData>(PlayerHandle);

            if (component != null && component.HeldObject != null)
            {
                HeldObjectType objectType = component.HeldObject.ObjectType;
                if (objectType == HeldObjectType.DURABLE && Prop != null)
                {
                    InteractiveZonePropEventHandler component2 = Prop.GetComponent <InteractiveZonePropEventHandler>();
                    if (component2 != null)
                    {
                        UnityEngine.Object.Destroy(component2);
                    }
                }
            }
            if (Prop != null && Prop.IsOwnerLocalPlayer)
            {
                ParticipationData component3 = dataEntityCollection.GetComponent <ParticipationData>(dataEntityCollection.LocalPlayerHandle);
                if (component3 != null)
                {
                    component3.IsInteractButtonAvailable = true;
                }
            }
        }
Пример #2
0
        private void showSelectedState()
        {
            HeldObjectsData component = Service.Get <CPDataEntityCollection>().GetComponent <HeldObjectsData>(Service.Get <CPDataEntityCollection>().LocalPlayerHandle);

            if (component != null && component.HeldObject != null)
            {
                SelectedPanel.SetActive(definition.NameOnServer == component.HeldObject.ObjectId);
            }
        }
Пример #3
0
 private bool onHeldObjectAdded(DataEntityEvents.ComponentAddedEvent <HeldObjectsData> evt)
 {
     if (evt.Handle == PlayerHandle)
     {
         dataEntityCollection.EventDispatcher.RemoveListener <DataEntityEvents.ComponentAddedEvent <HeldObjectsData> >(onHeldObjectAdded);
         heldObjectsData = evt.Component;
         addListeners();
     }
     return(false);
 }
 public void Start()
 {
     if (isInvitationLocalPlayer)
     {
         HeldObjectsData component = dataEntityCollection.GetComponent <HeldObjectsData>(dataEntityCollection.LocalPlayerHandle);
         if (component != null && component.HeldObject != null)
         {
             component.IsInvitationalExperience = true;
         }
         logPropSharedBi();
     }
 }
Пример #5
0
 public void Destroy()
 {
     Service.Get <EventDispatcher>().RemoveListener <DanceBattleEvents.DanceMoveAnimationComplete>(onDanceMoveAnimationComplete);
     Service.Get <EventDispatcher>().RemoveListener <NetworkControllerEvents.RemotePlayerLeftRoomEvent>(onRemotePlayerLeftRoom);
     handle   = null;
     animator = null;
     moveQueue.Clear();
     if (heldObjectData != null)
     {
         heldObjectData.PlayerHeldObjectChanged -= onHeldObjectChanged;
         heldObjectData = null;
     }
 }
Пример #6
0
 public DanceBattleTurnOutcomePenguinPlayer(DanceBattleTurnOutcomeMoveData.PlayerMoveData moveData)
 {
     moveQueue      = new Queue <int>(moveData.DanceMoveIds);
     handle         = getDataEntityHandle(moveData.PlayerSessionId);
     heldObjectData = getHeldObjectData(handle);
     animator       = getPenguinAnimator(handle);
     if (animator == null || heldObjectData == null || handle.IsNull)
     {
         Destroy();
         return;
     }
     heldObjectData.PlayerHeldObjectChanged += onHeldObjectChanged;
     Service.Get <EventDispatcher>().AddListener <DanceBattleEvents.DanceMoveAnimationComplete>(onDanceMoveAnimationComplete);
     Service.Get <EventDispatcher>().AddListener <NetworkControllerEvents.RemotePlayerLeftRoomEvent>(onRemotePlayerLeftRoom);
     playNextDanceMove();
 }
Пример #7
0
 private void loadExistingPlayerHeldExperiences(long playerId)
 {
     DataEntityHandle[] entitiesByType = dataEntityCollection.GetEntitiesByType <ServerObjectItemData>();
     foreach (DataEntityHandle handle in entitiesByType)
     {
         ServerObjectItemData component = dataEntityCollection.GetComponent <ServerObjectItemData>(handle);
         if (component.Item.Id.Parent != 0)
         {
             continue;
         }
         CPMMOItem item = component.Item;
         if (!(item is PlayerHeldItem))
         {
             continue;
         }
         PlayerHeldItem playerHeldItem = (PlayerHeldItem)item;
         if (playerHeldItem.CreatorId != playerId)
         {
             continue;
         }
         DHeldObject dHeldObject = new DHeldObject();
         dHeldObject.ObjectId = playerHeldItem.Type;
         DataEntityHandle dataEntityHandle = ((!dataEntityCollection.IsLocalPlayer(playerId)) ? dataEntityCollection.FindEntity <SessionIdData, long>(playerId) : dataEntityCollection.LocalPlayerHandle);
         if (!dataEntityHandle.IsNull)
         {
             HeldObjectsData  component2 = dataEntityCollection.GetComponent <HeldObjectsData>(dataEntityHandle);
             PrefabContentKey propExperiencePathFromPropId = getPropExperiencePathFromPropId(playerHeldItem.Type);
             if (propExperiencePathFromPropId != null && !string.IsNullOrEmpty(propExperiencePathFromPropId.Key))
             {
                 component2.IsInvitationalExperience = true;
                 CoroutineRunner.Start(loadPlayerHeldExperience(playerHeldItem), this, "loadPlayerHeldExperience");
             }
             component2.HeldObject = dHeldObject;
             if (propExperiencePathFromPropId != null && !string.IsNullOrEmpty(propExperiencePathFromPropId.Key))
             {
                 component2.IsInvitationalExperience = true;
             }
         }
     }
 }