Пример #1
0
 // Token: 0x06005362 RID: 21346 RVA: 0x001CB330 File Offset: 0x001C9730
 private void Update()
 {
     if (Input.GetKeyDown(KeyCode.Alpha4) && Input.GetKey(KeyCode.Menu))
     {
         this.textVisible = !this.textVisible;
         if (!this.textVisible && !this.graphVisible)
         {
             PhotonBandwidthGui.Reset();
         }
         PhotonNetwork.networkingPeer.TrafficStatsEnabled = (this.graphVisible || this.textVisible);
     }
     if (Input.GetKeyDown(KeyCode.Alpha5) && Input.GetKey(KeyCode.Menu))
     {
         this.graphVisible = !this.graphVisible;
         if (!this.textVisible && !this.graphVisible)
         {
             PhotonBandwidthGui.Reset();
         }
         PhotonNetwork.networkingPeer.TrafficStatsEnabled = (this.graphVisible || this.textVisible);
     }
     this.acceptMouse = this.textVisible;
     if (this.textVisible || this.graphVisible)
     {
         this.Flush();
     }
 }
Пример #2
0
 // Token: 0x06005360 RID: 21344 RVA: 0x001CB0E8 File Offset: 0x001C94E8
 public static void RecordPlayerStat(Player player)
 {
     if (!PhotonBandwidthGui.ShouldRecord)
     {
         return;
     }
     try
     {
         PhotonBandwidthGui instance = PhotonBandwidthGui._instance;
         object             obj      = instance.playerStats;
         lock (obj)
         {
             if (!instance.playerStats.ContainsKey(player))
             {
                 instance.playerStats.Add(player, new List <PhotonBandwidthGui.PlayerStat>());
             }
         }
         object obj2 = instance.playerStats;
         lock (obj2)
         {
             instance.playerStats[player].Insert(0, new PhotonBandwidthGui.PlayerStat
             {
                 frame   = instance.frame,
                 ping    = (float)PhotonBandwidthGui.ApproximatePing(player),
                 quality = player.vrcPlayer.ConnectionQuality
             });
         }
     }
     catch
     {
     }
 }
Пример #3
0
 // Token: 0x0600535E RID: 21342 RVA: 0x001CAE08 File Offset: 0x001C9208
 public static void RecordRPC(string methodName, int totalSize)
 {
     if (!PhotonBandwidthGui.ShouldRecord)
     {
         return;
     }
     try
     {
         PhotonBandwidthGui instance = PhotonBandwidthGui._instance;
         object             obj      = instance.serializationStatistics;
         lock (obj)
         {
             instance.serializationStatistics.Insert(0, new PhotonBandwidthGui.UsageData
             {
                 bytes      = totalSize,
                 frame      = instance.frame,
                 type       = PhotonBandwidthGui.UsageType.RPC,
                 name       = methodName,
                 addToTotal = true
             });
         }
     }
     catch
     {
     }
 }
Пример #4
0
 // Token: 0x0600543A RID: 21562 RVA: 0x001D16BC File Offset: 0x001CFABC
 public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
 {
     if (stream.isWriting)
     {
         this._ping            = (short)PhotonNetwork.GetPing();
         this._pingVariance    = (short)PhotonNetwork.networkingPeer.RoundTripTimeVariance;
         this._qualityCounter += 1;
         stream.SendNext(this._ping);
         stream.SendNext(this._pingVariance);
         stream.SendNext(this._qualityCounter);
         stream.SendNext(PhotonNetwork.ServerTimestamp);
     }
     else
     {
         this._ping         = (short)stream.ReceiveNext();
         this._pingVariance = (short)stream.ReceiveNext();
         short num  = (short)stream.ReceiveNext();
         int   num2 = (int)stream.ReceiveNext();
         if (this._qualityCounter + 1 != num || Time.time.AlmostEquals(this.lastTime, Time.smoothDeltaTime))
         {
             this._frames.Add(new PlayerNet.Frame
             {
                 expected = false,
                 time     = Time.time
             });
         }
         else
         {
             this._frames.Add(new PlayerNet.Frame
             {
                 expected = true,
                 time     = Time.time
             });
             this.lastTime = Time.time;
         }
         this._connectionQuality = null;
         this._qualityCounter    = num;
         this._receiveTimes.Add(info.timestamp);
         int transitTimeMs = PhotonNetwork.ServerTimestamp - num2;
         this.AccumulateTransitTimeAverage(transitTimeMs);
         int timestampDeltaMS = info.timestampInMilliseconds - num2;
         this.AccumulateTimestampDeltaAverage(timestampDeltaMS);
     }
     PhotonBandwidthGui.RecordPlayerStat(this.vrcPlayer.player);
 }
Пример #5
0
 // Token: 0x06003BC8 RID: 15304 RVA: 0x0012D128 File Offset: 0x0012B528
 public virtual bool OpRaiseEvent(byte eventCode, object customEventContent, bool sendReliable, RaiseEventOptions raiseEventOptions)
 {
     this.opParameters.Clear();
     this.opParameters[244] = eventCode;
     if (customEventContent != null)
     {
         this.opParameters[245] = customEventContent;
     }
     if (raiseEventOptions == null)
     {
         raiseEventOptions = RaiseEventOptions.Default;
     }
     else
     {
         if (raiseEventOptions.CachingOption != EventCaching.DoNotCache)
         {
             this.opParameters[247] = (byte)raiseEventOptions.CachingOption;
         }
         if (raiseEventOptions.Receivers != ReceiverGroup.Others)
         {
             this.opParameters[246] = (byte)raiseEventOptions.Receivers;
         }
         if (raiseEventOptions.InterestGroup != 0)
         {
             this.opParameters[240] = raiseEventOptions.InterestGroup;
         }
         if (raiseEventOptions.TargetActors != null)
         {
             this.opParameters[252] = raiseEventOptions.TargetActors;
         }
         if (raiseEventOptions.ForwardToWebhook)
         {
             this.opParameters[234] = true;
         }
     }
     PhotonBandwidthGui.RecordEvent(new EventData
     {
         Code       = eventCode,
         Parameters = this.opParameters
     }, PhotonNetwork.player);
     return(this.OpCustom(253, this.opParameters, sendReliable, raiseEventOptions.SequenceChannel, raiseEventOptions.Encrypt));
 }
Пример #6
0
    // Token: 0x0600536D RID: 21357 RVA: 0x001CC800 File Offset: 0x001CAC00
    private void DrawUsageList(IEnumerable <KeyValuePair <string, PhotonBandwidthGui.UsageTotal> > usage, Dictionary <string, int> frameCounts, PhotonBandwidthGui.UsageType type)
    {
        int num = 50;

        foreach (KeyValuePair <string, PhotonBandwidthGui.UsageTotal> keyValuePair in usage)
        {
            if (type != PhotonBandwidthGui.UsageType.Player)
            {
                this.DrawRow(string.Format("{0}", keyValuePair.Key), string.Format("{0} ({1})", keyValuePair.Value.total, keyValuePair.Value.maximum), string.Format("{0}", (double)frameCounts[keyValuePair.Key]), string.Format("{0:F3}", (double)keyValuePair.Value.total / (double)frameCounts[keyValuePair.Key]), string.Empty);
            }
            else if (keyValuePair.Value.obj != null)
            {
                Player componentInSelfOrParent = keyValuePair.Value.obj.GetComponentInSelfOrParent <Player>();
                float  num2 = (!(componentInSelfOrParent.playerNet == null)) ? componentInSelfOrParent.playerNet.ConnectionDisparity : 0f;
                this.DrawRow(string.Format("{0} {1}", componentInSelfOrParent.name, componentInSelfOrParent.GetPhotonPlayerId()), string.Format("{0} ({1})", keyValuePair.Value.total, keyValuePair.Value.maximum), string.Format("{0}", (double)frameCounts[keyValuePair.Key]), string.Format("{0:F3}", (double)keyValuePair.Value.total / (double)frameCounts[keyValuePair.Key]), string.Format("{0}ms, {1:F2}ms, {2}%", PhotonBandwidthGui.ApproximatePing(componentInSelfOrParent), num2, Mathf.CeilToInt(100f * componentInSelfOrParent.vrcPlayer.ConnectionQuality)));
            }
            num--;
            if (num == 0)
            {
                break;
            }
        }
    }
Пример #7
0
 // Token: 0x0600535D RID: 21341 RVA: 0x001CABF0 File Offset: 0x001C8FF0
 public static void RecordEvent(EventData evt, PhotonPlayer originatingPlayer)
 {
     if (!PhotonBandwidthGui.ShouldRecord)
     {
         return;
     }
     try
     {
         PhotonBandwidthGui instance = PhotonBandwidthGui._instance;
         string             name     = Enum.GetName(typeof(PhotonBandwidthGui.EventTypes), (PhotonBandwidthGui.EventTypes)evt.Code);
         int    bytes = Protocol.Serialize(evt.Parameters).Length;
         object obj   = instance.serializationStatistics;
         lock (obj)
         {
             instance.serializationStatistics.Insert(0, new PhotonBandwidthGui.UsageData
             {
                 name       = name,
                 bytes      = bytes,
                 frame      = instance.frame,
                 type       = PhotonBandwidthGui.UsageType.Event,
                 addToTotal = true
             });
         }
         if (evt.Code == 201 || evt.Code == 206)
         {
             Hashtable hashtable = (Hashtable)evt[245];
             byte      b         = 10;
             int       num       = 1;
             if (hashtable.ContainsKey(1))
             {
                 short num2 = (short)hashtable[1];
                 num = 2;
             }
             byte b2 = b;
             while ((int)(b2 - b) < hashtable.Count - num)
             {
                 object[] array = hashtable[b2] as object[];
                 PhotonBandwidthGui.RecordSerialization(PhotonView.Find((int)array[0]), array);
                 b2 += 1;
             }
         }
         if (originatingPlayer != null)
         {
             object obj2 = instance.serializationStatistics;
             lock (obj2)
             {
                 instance.serializationStatistics.Insert(0, new PhotonBandwidthGui.UsageData
                 {
                     name       = originatingPlayer.NickName,
                     bytes      = bytes,
                     frame      = instance.frame,
                     type       = PhotonBandwidthGui.UsageType.Player,
                     addToTotal = false
                 });
             }
         }
     }
     catch
     {
     }
 }
Пример #8
0
 // Token: 0x0600535F RID: 21343 RVA: 0x001CAEA8 File Offset: 0x001C92A8
 public static void RecordSerialization(PhotonView view, object[] data)
 {
     if (!PhotonBandwidthGui.ShouldRecord)
     {
         return;
     }
     try
     {
         PhotonBandwidthGui instance = PhotonBandwidthGui._instance;
         List <object>      list     = new List <object>();
         if (data != null)
         {
             list.AddRange(data);
         }
         int num = 0;
         foreach (object obj in list)
         {
             if (obj != null)
             {
                 int    num2 = Protocol.Serialize(obj).Length;
                 object obj2 = instance.serializationStatistics;
                 lock (obj2)
                 {
                     instance.serializationStatistics.Insert(0, new PhotonBandwidthGui.UsageData
                     {
                         bytes      = num2,
                         frame      = instance.frame,
                         name       = obj.GetType().Name,
                         type       = PhotonBandwidthGui.UsageType.Value,
                         addToTotal = false
                     });
                 }
                 num += num2;
             }
         }
         Player componentInSelfOrParent = view.gameObject.GetComponentInSelfOrParent <Player>();
         object obj3 = instance.serializationStatistics;
         lock (obj3)
         {
             instance.serializationStatistics.Insert(0, new PhotonBandwidthGui.UsageData
             {
                 bytes      = num,
                 frame      = instance.frame,
                 type       = ((!(componentInSelfOrParent == null)) ? PhotonBandwidthGui.UsageType.Player : PhotonBandwidthGui.UsageType.Object),
                 obj        = view.gameObject,
                 name       = PhotonBandwidthGui.GetObjectPath(view.gameObject),
                 addToTotal = false
             });
         }
         object obj4 = instance.serializationStatistics;
         lock (obj4)
         {
             if (instance.serializationStatistics.Count > 1000)
             {
                 instance.Flush();
             }
         }
     }
     catch
     {
     }
 }