示例#1
0
 // Token: 0x06005A50 RID: 23120 RVA: 0x001F7154 File Offset: 0x001F5554
 public void LogEvent(VRC_EventHandler eventHandler, VRC_EventHandler.VrcEvent vrcEvent, long combinedNetworkId, VRC_EventHandler.VrcBroadcastType broadcast, int instagatorId, float fastForward)
 {
     if (instagatorId <= 0)
     {
         instagatorId = VRC.Network.LocalInstigatorID;
     }
     if (vrcEvent.EventType == VRC_EventHandler.VrcEventType.SpawnObject || broadcast == VRC_EventHandler.VrcBroadcastType.Local)
     {
         this.Dispatcher.Execute(vrcEvent, broadcast, instagatorId, fastForward);
         return;
     }
     VRC_EventLog.EventLogEntry eventLogEntry = new VRC_EventLog.EventLogEntry
     {
         Time = PhotonNetwork.time,
         InstagatorPhotonId = instagatorId,
         CombinedNetworkId  = combinedNetworkId,
         FastForward        = fastForward,
         Event             = vrcEvent,
         OriginalBroadcast = broadcast
     }.DeepClone();
     if (vrcEvent.ParameterObject != null)
     {
         eventLogEntry.ObjectPath            = VRC.Network.GetGameObjectPath(vrcEvent.ParameterObject);
         eventLogEntry.Event.ParameterObject = vrcEvent.ParameterObject;
     }
     this.FixBooleanValues(eventLogEntry.Event, this.Dispatcher.GetEventHandler(combinedNetworkId));
     VRC_EventLog.AssignObjectParameter(eventLogEntry, this.Dispatcher);
     Debug.Log("Replicating " + eventLogEntry.ToString());
     this.Replicator.ProcessEvent(eventLogEntry, PhotonNetwork.player);
 }
示例#2
0
 protected override void SyncEvents(VRC_EventLog.EventLogEntry[] eventLog, PhotonPlayer sender)
 {
     foreach (VRC_EventLog.EventLogEntry entry in eventLog)
     {
         VRC_EventLog.AssignObjectParameter(entry, this.Dispatcher);
     }
     base.SyncEvents(eventLog, sender);
 }
示例#3
0
 // Token: 0x06005A4F RID: 23119 RVA: 0x001F70D4 File Offset: 0x001F54D4
 private void OnNewEvent(VRC_EventLog.EventLogEntry entry, VRC.Player sender)
 {
     VRC_EventLog.AssignObjectParameter(entry, this.Dispatcher);
     entry.TimeReceived = (double)Time.time;
     if (VRC.Network.IsNetworkSettled && entry.Instigator == VRC.Network.LocalInstigatorID && VRC_EventLog.isEventReady(entry, false))
     {
         this.Dispatcher.Execute(entry.Event, entry.OriginalBroadcast, entry.Instigator, entry.FastForward);
     }
     else
     {
         this.eventsToProcess.Add(entry);
     }
 }
示例#4
0
    // Token: 0x06005A55 RID: 23125 RVA: 0x001F74E4 File Offset: 0x001F58E4
    private void ProcessEvents()
    {
        int count = this.eventsToProcess.Count;

        for (int i = 0; i < count; i++)
        {
            VRC_EventLog.EventLogEntry eventLogEntry = this.eventsToProcess[0];
            this.eventsToProcess.RemoveAt(0);
            if (eventLogEntry != null)
            {
                try
                {
                    VRC_EventLog.AssignObjectParameter(eventLogEntry, this.Dispatcher);
                    bool flag = (double)Time.time - eventLogEntry.TimeReceived < (double)this.DeferNewEventsTolerance;
                    if (!VRC_EventLog.isEventReady(eventLogEntry, !flag))
                    {
                        if (flag)
                        {
                            this.eventsToProcess.Add(eventLogEntry);
                        }
                    }
                    else
                    {
                        try
                        {
                            float fastForward = eventLogEntry.FastForward + (float)(PhotonNetwork.time - eventLogEntry.Time);
                            this.Dispatcher.Execute(eventLogEntry.Event, eventLogEntry.OriginalBroadcast, eventLogEntry.InstagatorPhotonId, fastForward);
                        }
                        catch (Exception exception)
                        {
                            Debug.LogException(exception);
                        }
                    }
                }
                catch (Exception exception2)
                {
                    Debug.LogException(exception2, this);
                }
            }
        }
    }