Exemplo n.º 1
0
        private void Update()
        {
            if (participationData == null || participationData.ParticipatingGO == null)
            {
                return;
            }
            GameObject gameObject = ActionSequencer.FindActionGraphObject(participationData.ParticipatingGO.Value);

            if (gameObject != null)
            {
                if (participationData.CurrentParticipationState == ParticipationState.Participating)
                {
                    if (interactRequest.Active && gameObject.activeInHierarchy)
                    {
                        Service.Get <ActionConfirmationService>().ConfirmAction(typeof(PenguinInteraction), gameObject, delegate
                        {
                            CoroutineRunner.Start(preStartInteraction(participantReference.Value), this, "preStartInteraction");
                        });
                        interactRequest.Reset();
                    }
                }
                else if (participationData.CurrentParticipationState == ParticipationState.Pending && !canInteractWithActionGraph(gameObject))
                {
                    participationController.ClearPriorityCompetition(participantReference);
                }
            }
            interactRequest.Update();
        }