Пример #1
0
        private void RpcCancelInteraction(int id)
        {
            ClientInteractionInstance instance = clientInteractions.FirstOrDefault(i => i.Reference.Id == id);

            if (instance != null)
            {
                instance.Interaction.ClientCancel(instance.Event);
                clientInteractions.Remove(instance);
            }
        }
Пример #2
0
 public virtual void Update()
 {
     if (isClient)
     {
         // Update client interactions
         for (int index = 0; index < clientInteractions.Count; index++)
         {
             ClientInteractionInstance instance = clientInteractions[index];
             if (instance.FirstTick)
             {
                 instance.FirstTick = false;
                 try
                 {
                     if (!instance.Interaction.ClientStart(instance.Event))
                     {
                         clientInteractions.RemoveAt(index);
                         index--;
                     }
                 }
                 catch (Exception)
                 {
                     clientInteractions.RemoveAt(index);
                     throw;
                 }
             }
             else
             {
                 if (!instance.Interaction.ClientUpdate(instance.Event))
                 {
                     clientInteractions.RemoveAt(index);
                     index--;
                 }
             }
         }
     }
     if (isServer)
     {
         // Update server interactions
         for (int index = 0; index < interactions.Count; index++)
         {
             InteractionInstance instance = interactions[index];
             if (instance.FirstTick)
             {
                 instance.FirstTick = false;
                 try
                 {
                     if (!instance.Interaction.Start(instance.Event, instance.Reference))
                     {
                         interactions.Remove(instance);
                         index--;
                     }
                 }
                 catch (Exception)
                 {
                     interactions.Remove(instance);
                     throw;
                 }
             }
             else
             {
                 if (!instance.Interaction.Update(instance.Event, instance.Reference))
                 {
                     interactions.Remove(instance);
                     index--;
                 }
             }
         }
     }
 }