using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; // Token: 0x0200062A RID: 1578 [Token(Token = "0x200062A")] [StructLayout(3)] public class FrameBudgetMonitor : SingletonMonoBehaviour { // Token: 0x06002DF9 RID: 11769 RVA: 0x000BFF78 File Offset: 0x000BE178 [Token(Token = "0x6002DF9")] [Address(RVA = "0x1659440", Offset = "0x1657E40", VA = "0x181659440")] public FrameBudgetMonitor() { } // Token: 0x040026FB RID: 9979 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x40026FB")] [SerializeField] private FrameBudgetMonitor.Property[] cpuProperties = new FrameBudgetMonitor.Property[] { new FrameBudgetMonitor.Property { Name = "Rendering", MeanLimit = 3f, PeakLimit = 5f, Suffix = " ms" }, new FrameBudgetMonitor.Property { Name = "Scripts", MeanLimit = 3f, PeakLimit = 4f, Suffix = " ms" }, new FrameBudgetMonitor.Property { Name = "Physics", MeanLimit = 0.6f, PeakLimit = 0.8f, Suffix = " ms" } }; // Token: 0x040026FC RID: 9980 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x40026FC")] [SerializeField] private FrameBudgetMonitor.Property[] gpuProperties = new FrameBudgetMonitor.Property[] { new FrameBudgetMonitor.Property { Name = "Shadows/Depth", MeanLimit = 3f, PeakLimit = 4f, Suffix = " ms" }, new FrameBudgetMonitor.Property { Name = "Opaque", MeanLimit = 3f, PeakLimit = 4f, Suffix = " ms" }, new FrameBudgetMonitor.Property { Name = "Transparent", MeanLimit = 0.5f, PeakLimit = 1f, Suffix = " ms" }, new FrameBudgetMonitor.Property { Name = "PostProcess", MeanLimit = 0.7f, PeakLimit = 1.5f, Suffix = " ms" }, new FrameBudgetMonitor.Property { Name = "Batches", MeanLimit = 1.5f, PeakLimit = 2f, Suffix = "K", Multiplier = 1000f }, new FrameBudgetMonitor.Property { Name = "Vertices", MeanLimit = 8f, PeakLimit = 10f, Suffix = "M" } }; // Token: 0x040026FD RID: 9981 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x40026FD")] [SerializeField] private FrameBudgetMonitor.NetworkProperty[] outboundNetworkProperties = new FrameBudgetMonitor.NetworkProperty[] { new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)0L), Name = "Bandwidth", MeanLimit = 200f, PeakLimit = 1000f, Suffix = " kbps" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)1L), Name = "RPCs", MeanLimit = 2f, PeakLimit = 10f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)2L), Name = "Room Prop Updates", MeanLimit = 4f, PeakLimit = 10f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)3L), Name = "Instantiates", MeanLimit = 4f, PeakLimit = 10f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)4L), Name = "Destroys", MeanLimit = 4f, PeakLimit = 10f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)5L), Name = "Owner Transfers", MeanLimit = 4f, PeakLimit = 10f, Suffix = " / sec" } }; // Token: 0x040026FE RID: 9982 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x40026FE")] [SerializeField] private FrameBudgetMonitor.NetworkProperty[] inboundNetworkProperties = new FrameBudgetMonitor.NetworkProperty[] { new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)0L), Name = "Bandwidth", MeanLimit = 800f, PeakLimit = 2000f, Suffix = " kbps" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)1L), Name = "RPCs", MeanLimit = 8f, PeakLimit = 20f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)2L), Name = "Room Prop Updates", MeanLimit = 10f, PeakLimit = 20f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)3L), Name = "Instantiates", MeanLimit = 4f, PeakLimit = 10f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)4L), Name = "Destroys", MeanLimit = 4f, PeakLimit = 10f, Suffix = " / sec" }, new FrameBudgetMonitor.NetworkProperty { Type = (FrameBudgetMonitor.FELCKFMEMFC)((ulong)5L), Name = "Owner Transfers", MeanLimit = 10f, PeakLimit = 20f, Suffix = " / sec" } }; // Token: 0x0200062B RID: 1579 [Token(Token = "0x200062B")] [Serializable] private class Property { // Token: 0x06002DFA RID: 11770 RVA: 0x000C0594 File Offset: 0x000BE794 [Token(Token = "0x6002DFA")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public Property() { } // Token: 0x040026FF RID: 9983 [global::Cpp2IlInjected.FieldOffset(Offset = "0x10")] [Token(Token = "0x40026FF")] public string Name; // Token: 0x04002700 RID: 9984 [global::Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4002700")] public float MeanLimit; // Token: 0x04002701 RID: 9985 [global::Cpp2IlInjected.FieldOffset(Offset = "0x1C")] [Token(Token = "0x4002701")] public float PeakLimit; // Token: 0x04002702 RID: 9986 [global::Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4002702")] public string Suffix; // Token: 0x04002703 RID: 9987 [global::Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4002703")] [Tooltip("Optional multiplier to scale the raw profiling data by to get it into the measurement range (ideally between 0-10)")] public float Multiplier; // Token: 0x04002704 RID: 9988 [global::Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x4002704")] [NonSerialized] public int Id; // Token: 0x04002705 RID: 9989 [global::Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4002705")] [NonSerialized] public float Mean; // Token: 0x04002706 RID: 9990 [global::Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4002706")] [NonSerialized] public float Peak; } // Token: 0x0200062C RID: 1580 [Token(Token = "0x200062C")] private enum FELCKFMEMFC { // Token: 0x04002708 RID: 9992 [Token(Token = "0x4002708")] Bandwidth, // Token: 0x04002709 RID: 9993 [Token(Token = "0x4002709")] RPCs, // Token: 0x0400270A RID: 9994 [Token(Token = "0x400270A")] RoomPropUpdates, // Token: 0x0400270B RID: 9995 [Token(Token = "0x400270B")] ObjectInstantiate, // Token: 0x0400270C RID: 9996 [Token(Token = "0x400270C")] ObjectDestroys, // Token: 0x0400270D RID: 9997 [Token(Token = "0x400270D")] OwnershipTransfers } // Token: 0x0200062D RID: 1581 [Token(Token = "0x200062D")] [Serializable] private class NetworkProperty : FrameBudgetMonitor.Property { // Token: 0x06002DFB RID: 11771 RVA: 0x000C05A8 File Offset: 0x000BE7A8 [Token(Token = "0x6002DFB")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public NetworkProperty() { } // Token: 0x0400270E RID: 9998 [global::Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x400270E")] public FrameBudgetMonitor.FELCKFMEMFC Type; } }