EventCallback
How do I use Event Callback
Below are practical examples compiled from projects for learning and reference purposes
Featured Snippets
Line | Code | Ex.. |
---|---|---|
130 | gls.LongestEventCallback, | 1 |
File name: PhotonStatsGui.cs
Copy
77 public void TrafficStatsWindow(int windowID)
78 {
79 bool statsToLog = false;
80 TrafficStatsGameLevel gls = PhotonNetwork.networkingPeer.TrafficStatsGameLevel;
81 long elapsedMs = PhotonNetwork.networkingPeer.TrafficStatsElapsedMs / 1000;
82 if (elapsedMs == 0)
83 {
84 elapsedMs = 1;
85 }
86
87 GUILayout.BeginHorizontal();
88 this.buttonsOn = GUILayout.Toggle(this.buttonsOn, "buttons");
89 this.healthStatsVisible = GUILayout.Toggle(this.healthStatsVisible, "health");
90 this.trafficStatsOn = GUILayout.Toggle(this.trafficStatsOn, "traffic");
91 GUILayout.EndHorizontal();
92
93 string total = string.Format("Out|In|Sum:\t{0,4} | {1,4} | {2,4}", gls.TotalOutgoingMessageCount, gls.TotalIncomingMessageCount, gls.TotalMessageCount);
94 string elapsedTime = string.Format("{0}sec average:", elapsedMs);
95 string average = string.Format("Out|In|Sum:\t{0,4} | {1,4} | {2,4}", gls.TotalOutgoingMessageCount / elapsedMs, gls.TotalIncomingMessageCount / elapsedMs, gls.TotalMessageCount / elapsedMs);
96 GUILayout.Label(total);
97 GUILayout.Label(elapsedTime);
98 GUILayout.Label(average);
99
100 if (this.buttonsOn)
101 {
102 GUILayout.BeginHorizontal();
103 this.statsOn = GUILayout.Toggle(this.statsOn, "stats on");
104 if (GUILayout.Button("Reset"))
105 {
106 PhotonNetwork.networkingPeer.TrafficStatsReset();
107 PhotonNetwork.networkingPeer.TrafficStatsEnabled = true;
108 }
109 statsToLog = GUILayout.Button("To Log");
110 GUILayout.EndHorizontal();
111 }
112
113 string trafficStatsIn = string.Empty;
114 string trafficStatsOut = string.Empty;
115 if (this.trafficStatsOn)
116 {
117 trafficStatsIn = "Incoming: " + PhotonNetwork.networkingPeer.TrafficStatsIncoming.ToString();
118 trafficStatsOut = "Outgoing: " + PhotonNetwork.networkingPeer.TrafficStatsOutgoing.ToString();
119 GUILayout.Label(trafficStatsIn);
120 GUILayout.Label(trafficStatsOut);
121 }
122
123 string healthStats = string.Empty;
124 if (this.healthStatsVisible)
125 {
126 healthStats = string.Format(
127 "ping: {6}[+/-{7}]ms\nlongest delta between\nsend: {0,4}ms disp: {1,4}ms\nlongest time for:\nev({3}):{2,3}ms op({5}):{4,3}ms",
128 gls.LongestDeltaBetweenSending,
129 gls.LongestDeltaBetweenDispatching,
130 gls.LongestEventCallback,
131 gls.LongestEventCallbackCode,
132 gls.LongestOpResponseCallback,
133 gls.LongestOpResponseCallbackOpCode,
134 PhotonNetwork.networkingPeer.RoundTripTime,
135 PhotonNetwork.networkingPeer.RoundTripTimeVariance);
136 GUILayout.Label(healthStats);
137 }
138
139 if (statsToLog)
140 {
141 string complete = string.Format("{0}\n{1}\n{2}\n{3}\n{4}\n{5}", total, elapsedTime, average, trafficStatsIn, trafficStatsOut, healthStats);
142 Debug.Log(complete);
143 }
144
145 // if anything was clicked, the height of this window is likely changed. reduce it to be layouted again next frame
146 if (GUI.changed)
147 {
148 this.statsRect.height = 100;
149 }
150
151 GUI.DragWindow();
152 }
EventCallback 127 lượt xem
Gõ tìm kiếm nhanh...