// 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(); } }
// 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 { } }
// 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 { } }
// 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); }
// 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)); }
// 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; } } }
// 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 { } }
// 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 { } }