Пример #1
0
        public bool Update(InteractionEvent interactionEvent, InteractionReference reference)
        {
            if (Interaction.Update(interactionEvent, reference))
            {
                return(true);
            }

            ApplyRequirement(interactionEvent);
            return(false);
        }
Пример #2
0
        public void ClientInteract(InteractionEvent interactionEvent, IInteraction interaction,
                                   InteractionReference reference)
        {
            IClientInteraction clientInteraction = interaction.CreateClient(interactionEvent);

            if (clientInteraction != null)
            {
                clientInteractions.Add(new ClientInteractionInstance(clientInteraction,
                                                                     interactionEvent, reference));
            }
        }
Пример #3
0
        public void CancelInteraction(InteractionReference reference)
        {
            InteractionInstance instance = interactions.FirstOrDefault(i => Equals(reference, i.Reference));

            if (instance == null)
            {
                return;
            }

            RpcCancelInteraction(reference.Id);
            instance.Interaction.Cancel(instance.Event, reference);
            interactions.Remove(instance);
        }
Пример #4
0
        public InteractionReference Interact(InteractionEvent interactionEvent, IInteraction interaction)
        {
            InteractionReference reference = new InteractionReference(Random.Range(1, Int32.MaxValue));

            if (!SupportsMultipleInteractions)
            {
                for (int index = interactions.Count - 1; index >= 0; index--)
                {
                    InteractionInstance instance = interactions[index];
                    CancelInteraction(instance.Reference);
                }
            }
            interactions.Add(new InteractionInstance(interaction, interactionEvent, reference));

            return(reference);
        }
Пример #5
0
 public ClientInteractionInstance(IClientInteraction interaction, InteractionEvent interactionEvent, InteractionReference reference)
 {
     Interaction = interaction;
     Event       = interactionEvent;
     Reference   = reference;
 }
Пример #6
0
 public void Cancel(InteractionEvent interactionEvent, InteractionReference reference)
 {
     Interaction.Cancel(interactionEvent, reference);
 }
Пример #7
0
 public abstract void Cancel(InteractionEvent interactionEvent, InteractionReference reference);
Пример #8
0
 public virtual bool Start(InteractionEvent interactionEvent, InteractionReference reference)
 {
     startTime = Time.time;
     lastCheck = startTime;
     return(true);
 }
 public InteractionInstance GetInstanceFromReference(InteractionReference reference)
 {
     return(interactions.FirstOrDefault(x => x.Reference.Equals(reference)));
 }
Пример #10
0
 public InteractionInstance(IInteraction interaction, InteractionEvent interactionEvent, InteractionReference reference, NetworkConnection owner)
 {
     Interaction = interaction;
     Event       = interactionEvent;
     Reference   = reference;
     Owner       = owner;
 }