|
|
@@ -1225,6 +1225,10 @@ public class ContinuousController : MonoBehaviour
|
|
|
Application.Quit();
|
|
|
}
|
|
|
#endif
|
|
|
+ if (Input.GetKeyDown(KeyCode.F1))
|
|
|
+ {
|
|
|
+ _showPhotonDebug = !_showPhotonDebug;
|
|
|
+ }
|
|
|
}
|
|
|
int _frameCount = 0;
|
|
|
int _updateFrame = 40;
|
|
|
@@ -1298,7 +1302,120 @@ public class ContinuousController : MonoBehaviour
|
|
|
Debug.Log($"random number sequence initialization,InitState:{random}");
|
|
|
}
|
|
|
|
|
|
+ #region Photon Debug HUD
|
|
|
+ bool _showPhotonDebug = false;
|
|
|
+ Photon.Realtime.IConnectionCallbacks _connectionCallbacks;
|
|
|
+ Photon.Realtime.IMatchmakingCallbacks _matchmakingCallbacks;
|
|
|
+ Photon.Realtime.ILobbyCallbacks _lobbyCallbacks;
|
|
|
+
|
|
|
+ void OnEnable()
|
|
|
+ {
|
|
|
+ var listener = new PhotonDebugListener();
|
|
|
+ _connectionCallbacks = listener;
|
|
|
+ _matchmakingCallbacks = listener;
|
|
|
+ _lobbyCallbacks = listener;
|
|
|
+ PhotonNetwork.AddCallbackTarget(listener);
|
|
|
+ }
|
|
|
+
|
|
|
+ void OnDisable()
|
|
|
+ {
|
|
|
+ if (_connectionCallbacks != null)
|
|
|
+ PhotonNetwork.RemoveCallbackTarget(_connectionCallbacks);
|
|
|
+ }
|
|
|
+
|
|
|
+ class PhotonDebugListener :
|
|
|
+ Photon.Realtime.IConnectionCallbacks,
|
|
|
+ Photon.Realtime.IMatchmakingCallbacks,
|
|
|
+ Photon.Realtime.ILobbyCallbacks
|
|
|
+ {
|
|
|
+ public void OnDisconnected(Photon.Realtime.DisconnectCause cause)
|
|
|
+ {
|
|
|
+ Debug.LogWarning($"[Photon Debug] Disconnected: {cause}");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void OnConnected() { }
|
|
|
+ public void OnConnectedToMaster()
|
|
|
+ {
|
|
|
+ Debug.Log("[Photon Debug] Connected to Master");
|
|
|
+ }
|
|
|
+ public void OnRegionListReceived(Photon.Realtime.RegionHandler handler) { }
|
|
|
+ public void OnCustomAuthenticationResponse(Dictionary<string, object> data) { }
|
|
|
+ public void OnCustomAuthenticationFailed(string debugMessage)
|
|
|
+ {
|
|
|
+ Debug.LogError($"[Photon Debug] Auth failed: {debugMessage}");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void OnJoinedLobby()
|
|
|
+ {
|
|
|
+ Debug.Log("[Photon Debug] Joined Lobby");
|
|
|
+ }
|
|
|
+ public void OnLeftLobby()
|
|
|
+ {
|
|
|
+ Debug.Log("[Photon Debug] Left Lobby");
|
|
|
+ }
|
|
|
+ public void OnLobbyStatisticsUpdate(List<Photon.Realtime.TypedLobbyInfo> lobbyStatistics) { }
|
|
|
+ public void OnRoomListUpdate(List<Photon.Realtime.RoomInfo> roomList) { }
|
|
|
+
|
|
|
+ public void OnJoinedRoom()
|
|
|
+ {
|
|
|
+ Debug.Log($"[Photon Debug] Joined Room: {PhotonNetwork.CurrentRoom?.Name}");
|
|
|
+ }
|
|
|
+ public void OnJoinRoomFailed(short returnCode, string message)
|
|
|
+ {
|
|
|
+ Debug.LogError($"[Photon Debug] Join Room FAILED: [{returnCode}] {message}");
|
|
|
+ }
|
|
|
+ public void OnJoinRandomFailed(short returnCode, string message)
|
|
|
+ {
|
|
|
+ Debug.LogError($"[Photon Debug] Join Random FAILED: [{returnCode}] {message}");
|
|
|
+ }
|
|
|
+ public void OnCreateRoomFailed(short returnCode, string message)
|
|
|
+ {
|
|
|
+ Debug.LogError($"[Photon Debug] Create Room FAILED: [{returnCode}] {message}");
|
|
|
+ }
|
|
|
+ public void OnCreatedRoom()
|
|
|
+ {
|
|
|
+ Debug.Log("[Photon Debug] Created Room");
|
|
|
+ }
|
|
|
+ public void OnLeftRoom()
|
|
|
+ {
|
|
|
+ Debug.Log("[Photon Debug] Left Room");
|
|
|
+ }
|
|
|
+ public void OnFriendListUpdate(List<Photon.Realtime.FriendInfo> friendList) { }
|
|
|
+ }
|
|
|
+
|
|
|
+ void OnGUI()
|
|
|
+ {
|
|
|
+ if (!_showPhotonDebug) return;
|
|
|
+
|
|
|
+ string status;
|
|
|
|
|
|
+ if (!PhotonNetwork.IsConnected)
|
|
|
+ {
|
|
|
+ status = "<color=#FF4444>[Photon] Disconnected</color>";
|
|
|
+ }
|
|
|
+ else if (PhotonNetwork.InRoom)
|
|
|
+ {
|
|
|
+ string roomName = PhotonNetwork.CurrentRoom != null ? PhotonNetwork.CurrentRoom.Name : "?";
|
|
|
+ int players = PhotonNetwork.CurrentRoom != null ? PhotonNetwork.CurrentRoom.PlayerCount : 0;
|
|
|
+ status = $"<color=#44FF44>[Photon] Connected | Region: {PhotonNetwork.CloudRegion} | Room: {roomName} ({players} players)</color>";
|
|
|
+ }
|
|
|
+ else if (PhotonNetwork.InLobby)
|
|
|
+ {
|
|
|
+ status = $"<color=#44FF44>[Photon] Connected | Region: {PhotonNetwork.CloudRegion} | In Lobby</color>";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ status = $"<color=#FFAA00>[Photon] Connected | Region: {PhotonNetwork.CloudRegion} | Not in Lobby/Room</color>";
|
|
|
+ }
|
|
|
+
|
|
|
+ GUIStyle style = new GUIStyle(GUI.skin.label);
|
|
|
+ style.fontSize = 16;
|
|
|
+ style.richText = true;
|
|
|
+ style.fontStyle = FontStyle.Bold;
|
|
|
+
|
|
|
+ GUI.Label(new Rect(10, 10, 800, 30), status, style);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
}
|
|
|
|
|
|
#region Manage random numbers
|