Open
Conversation
… type switching logic
… and improve entity prototype handling for determinism
- Created a new prefab for the Mini Battle Popup in the UI components. - Implemented MiniMatchmakingPanel script to manage matchmaking UI behavior, including visibility toggling and event handling for matchmaking events.
…g the game and adjust UI button behavior based on countdown state
…ove lobby window management
…ove cancel button behavior for non-leaders
- Added guards in PhotonExtensions to check if the Photon client is connected and ready before setting or removing custom properties for Players and Rooms. This prevents potential errors when the client is not in a valid state. - Updated MiniMatchmakingPanel to properly handle the state when a game start is cancelled. The UI will now resume matchmaking if still in a matchmaking room, or hide the panel if the player has left matchmaking.
…per clearing of BattleID and improve error handling
…d initialize search attempts
…nality and UI updates
…e error handling and code clarity
… improve game type selection logic
…ueue functionality for Random2v2 game type
… LobbyManager to prevent auto-join, follow leader, and requeue behaviors
…tter lifecycle management
… gameplay start conditions
…oin-or-create and improving room change handling
…and JoinOrCreateQueueRoom methods, enhancing room management and player queue handling.
…nd implement RequeueToPersistentQueue for centralized queue-based matchmaking; update UI handling for persistent queue rooms.
…and stopping matchmaking; update matchmaking text based on room type; remove unused coroutines and methods.
…n matchmaking or queue room; improve UI interaction handling.
…r coroutine for non-master clients to handle insufficient human players.
…ng text visibility in UI
…m status in MiniMatchmakingPanel
…ng for callback target methods
… matchmaking text visibility for queue status in UI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and new features to the Photon networking code and the UI system. The main focus is on making Photon operations safer by adding connection checks, expanding matchmaking and queueing capabilities, and enhancing UI components.
Photon networking improvements and new features:
PlayerandRoomobjects, preventing errors when the client is not ready or not in a room. These checks are now consistently applied across all relevant extension methods. [1] [2] [3] [4] [5] [6]PhotonRealtimeClient:JoinRandomOrCreateRandom2v2Roomfor 2v2 matchmaking.JoinOrCreateMatchmakingRoomfor deterministic matchmaking room creation.JoinOrCreateQueueRoomfor creating/joining persistent queue rooms, with a new room property keyIsQueueKey. [1] [2]PhotonRealtimeClientfor accessing player counts in rooms and the current room.AddCallbackTargetandRemoveCallbackTarget. [1] [2]UI enhancements:
UIOverlayPanelprefab. This includes adjustments to font sizes and RectTransform settings for improved UI appearance. [1] [2] [3] [4]These changes collectively improve the robustness of Photon networking operations and expand the matchmaking/queueing system, while also enhancing the user interface with a new popup component.
This pull request introduces several improvements and new features to the Photon networking layer, focusing on safer property operations, enhanced matchmaking/queueing capabilities, and some UI prefab updates. The most significant changes are the addition of robust guard clauses for Photon property operations, new matchmaking/queue room join methods, and the integration of a new UI prefab.
Photon Networking Improvements
SetCustomProperty,RemoveCustomProperty, etc.) for bothPlayerandRoomobjects, ensuring operations are only attempted when the Photon client is connected, ready, and in a room. This prevents errors and logs warnings if attempted when not ready. [1] [2] [3] [4] [5] [6]GetCustomProperty<T>(this RoomInfo room, ...)to avoid null reference exceptions.Matchmaking and Queueing Enhancements
PhotonRealtimeClientfor joining or creating random 2v2 rooms, deterministic matchmaking rooms, and persistent queue rooms. These methods use improved logic to prevent race conditions and support larger player queues.IsQueueKeyto distinguish queue rooms from other room types.Photon Client Utility Improvements
AddCallbackTargetandRemoveCallbackTargetmethods to handle cases when the Photon client is null and to log warnings on failure instead of throwing exceptions. [1] [2]CountOfPlayersInRoomsandCurrentRoomPlayerCountfor easier access to player counts in the Photon client.UI Changes
Mini Battle Popupprefab to the project and integrated it into theUIOverlayPanelprefab. This includes adjustments to font sizes and anchor settings for proper display. [1] [2] [3] [4]These changes collectively improve the reliability of networked property operations, expand the matchmaking and queueing system, and enhance the game's UI with new components.