Photon Unity Networking 2
2.12
|
This class provides a .photonView and all callbacks/events that PUN can call. Override the events/methods you want to use. More...
Inherits MonoBehaviourPun, IConnectionCallbacks, IMatchmakingCallbacks, IInRoomCallbacks, and ILobbyCallbacks.
Inherited by ConnectAndJoinRandom, CountdownTimer, PlayerNumbering, PunTeams, and PunTurnManager.
Public Member Functions | |
virtual void | OnEnable () |
virtual void | OnDisable () |
virtual void | OnConnected () |
Called to signal that the raw connection got established but before the client can call operation on the server. More... | |
virtual void | OnLeftRoom () |
Called when the local user/client left a room, so the game's logic can clean up it's internal state. More... | |
virtual void | OnMasterClientSwitched (Player newMasterClient) |
Called after switching to a new MasterClient when the current one leaves. More... | |
virtual void | OnCreateRoomFailed (short returnCode, string message) |
Called when the server couldn't create a room (OpCreateRoom failed). More... | |
virtual void | OnJoinRoomFailed (short returnCode, string message) |
Called when a previous OpJoinRoom call failed on the server. More... | |
virtual void | OnCreatedRoom () |
Called when this client created a room and entered it. OnJoinedRoom() will be called as well. More... | |
virtual void | OnJoinedLobby () |
Called on entering a lobby on the Master Server. The actual room-list updates will call OnRoomListUpdate. More... | |
virtual void | OnLeftLobby () |
Called after leaving a lobby. More... | |
virtual void | OnDisconnected (DisconnectCause cause) |
Called after disconnecting from the Photon server. It could be a failure or intentional More... | |
virtual void | OnRegionListReceived (RegionHandler regionHandler) |
Called when the Name Server provided a list of regions for your title. More... | |
virtual void | OnRoomListUpdate (List< RoomInfo > roomList) |
Called for any update of the room-listing while in a lobby (InLobby) on the Master Server. More... | |
virtual void | OnJoinedRoom () |
Called when the LoadBalancingClient entered a room, no matter if this client created it or simply joined. More... | |
virtual void | OnPlayerEnteredRoom (Player newPlayer) |
Called when a remote player entered the room. This Player is already added to the playerlist. More... | |
virtual void | OnPlayerLeftRoom (Player otherPlayer) |
Called when a remote player left the room or became inactive. Check otherPlayer.IsInactive. More... | |
virtual void | OnJoinRandomFailed (short returnCode, string message) |
Called when a previous OpJoinRandom call failed on the server. More... | |
virtual void | OnConnectedToMaster () |
Called when the client is connected to the Master Server and ready for matchmaking and other tasks. More... | |
virtual void | OnRoomPropertiesUpdate (Hashtable propertiesThatChanged) |
Called when a room's custom properties changed. The propertiesThatChanged contains all that was set via Room.SetCustomProperties. More... | |
virtual void | OnPlayerPropertiesUpdate (Player target, Hashtable changedProps) |
Called when custom player-properties are changed. Player and the changed properties are passed as object[]. More... | |
virtual void | OnFriendListUpdate (List< FriendInfo > friendList) |
Called when the server sent the response to a FindFriends request. More... | |
virtual void | OnCustomAuthenticationResponse (Dictionary< string, object > data) |
Called when your Custom Authentication service responds with additional data. More... | |
virtual void | OnCustomAuthenticationFailed (string debugMessage) |
Called when the custom authentication failed. Followed by disconnect! More... | |
virtual void | OnWebRpcResponse (OperationResponse response) |
virtual void | OnLobbyStatisticsUpdate (List< TypedLobbyInfo > lobbyStatistics) |
Called when the Master Server sent an update for the Lobby Statistics, updating PhotonNetwork.LobbyStatistics. More... | |
Additional Inherited Members | |
Properties inherited from MonoBehaviourPun | |
PhotonView | photonView [get] |
A cached reference to a PhotonView on this GameObject. More... | |
Detailed Description
This class provides a .photonView and all callbacks/events that PUN can call. Override the events/methods you want to use.
By extending this class, you can implement individual methods as override.
Visual Studio and MonoDevelop should provide the list of methods when you begin typing "override". Your implementation does not have to call "base.method()".
This class implements all callback interfaces and extends Photon.Pun.MonoBehaviourPun.
Member Function Documentation
|
virtual |
Called to signal that the raw connection got established but before the client can call operation on the server.
After the (low level transport) connection is established, the client will automatically send the Authentication operation, which needs to get a response before the client can call other operations.
Your logic should wait for either: OnRegionListReceived or OnConnectedToMaster.
This callback is useful to detect if the server can be reached at all (technically). Most often, it's enough to implement OnDisconnected().
This is not called for transitions from the masterserver to game servers.
Implements IConnectionCallbacks.
|
virtual |
Called when the client is connected to the Master Server and ready for matchmaking and other tasks.
The list of available rooms won't become available unless you join a lobby via LoadBalancingClient.OpJoinLobby. You can join rooms and create them even without being in a lobby. The default lobby is used in that case.
Implements IConnectionCallbacks.
Reimplemented in ConnectAndJoinRandom.
|
virtual |
Called when this client created a room and entered it. OnJoinedRoom() will be called as well.
This callback is only called on the client which created a room (see OpCreateRoom).
As any client might close (or drop connection) anytime, there is a chance that the creator of a room does not execute OnCreatedRoom.
If you need specific room properties or a "start signal", implement OnMasterClientSwitched() and make each new MasterClient check the room's state.
Implements IMatchmakingCallbacks.
|
virtual |
Called when the server couldn't create a room (OpCreateRoom failed).
The most common cause to fail creating a room, is when a title relies on fixed room-names and the room already exists.
- Parameters
-
returnCode Operation ReturnCode from the server. message Debug message for the error.
Implements IMatchmakingCallbacks.
|
virtual |
Called when the custom authentication failed. Followed by disconnect!
Custom Authentication can fail due to user-input, bad tokens/secrets. If authentication is successful, this method is not called. Implement OnJoinedLobby() or OnConnectedToMaster() (as usual).
During development of a game, it might also fail due to wrong configuration on the server side. In those cases, logging the debugMessage is very important.
Unless you setup a custom authentication service for your app (in the Dashboard), this won't be called!
- Parameters
-
debugMessage Contains a debug message why authentication failed. This has to be fixed during development.
Implements IConnectionCallbacks.
|
virtual |
Called when your Custom Authentication service responds with additional data.
Custom Authentication services can include some custom data in their response. When present, that data is made available in this callback as Dictionary. While the keys of your data have to be strings, the values can be either string or a number (in Json). You need to make extra sure, that the value type is the one you expect. Numbers become (currently) int64.
Example: void OnCustomAuthenticationResponse(Dictionary<string, object> data) { ... }
https://doc.photonengine.com/en-us/realtime/current/reference/custom-authentication
Implements IConnectionCallbacks.
|
virtual |
Called after disconnecting from the Photon server. It could be a failure or intentional
The reason for this disconnect is provided as DisconnectCause.
Implements IConnectionCallbacks.
Reimplemented in ConnectAndJoinRandom.
|
virtual |
Called when the server sent the response to a FindFriends request.
After calling OpFindFriends, the Master Server will cache the friend list and send updates to the friend list. The friends includes the name, userId, online state and the room (if any) for each requested user/friend.
Use the friendList to update your UI and store it, if the UI should highlight changes.
Implements IMatchmakingCallbacks.
|
virtual |
Called on entering a lobby on the Master Server. The actual room-list updates will call OnRoomListUpdate.
While in the lobby, the roomlist is automatically updated in fixed intervals (which you can't modify in the public cloud). The room list gets available via OnRoomListUpdate.
Implements ILobbyCallbacks.
Reimplemented in ConnectAndJoinRandom.
|
virtual |
Called when the LoadBalancingClient entered a room, no matter if this client created it or simply joined.
When this is called, you can access the existing players in Room.Players, their custom properties and Room.CustomProperties.
In this callback, you could create player objects. For example in Unity, instantiate a prefab for the player.
If you want a match to be started "actively", enable the user to signal "ready" (using OpRaiseEvent or a Custom Property).
Implements IMatchmakingCallbacks.
Reimplemented in PlayerNumbering, ConnectAndJoinRandom, and PunTeams.
|
virtual |
Called when a previous OpJoinRandom call failed on the server.
The most common causes are that a room is full or does not exist (due to someone else being faster or closing the room).
When using multiple lobbies (via OpJoinLobby or a TypedLobby parameter), another lobby might have more/fitting rooms.
- Parameters
-
returnCode Operation ReturnCode from the server. message Debug message for the error.
Implements IMatchmakingCallbacks.
Reimplemented in ConnectAndJoinRandom.
|
virtual |
Called when a previous OpJoinRoom call failed on the server.
The most common causes are that a room is full or does not exist (due to someone else being faster or closing the room).
- Parameters
-
returnCode Operation ReturnCode from the server. message Debug message for the error.
Implements IMatchmakingCallbacks.
|
virtual |
Called after leaving a lobby.
When you leave a lobby, OpCreateRoom and OpJoinRandomRoom automatically refer to the default lobby.
Implements ILobbyCallbacks.
|
virtual |
Called when the local user/client left a room, so the game's logic can clean up it's internal state.
When leaving a room, the LoadBalancingClient will disconnect the Game Server and connect to the Master Server. This wraps up multiple internal actions.
Wait for the callback OnConnectedToMaster, before you use lobbies and join or create rooms.
Implements IMatchmakingCallbacks.
Reimplemented in PlayerNumbering, and PunTeams.
|
virtual |
Called when the Master Server sent an update for the Lobby Statistics, updating PhotonNetwork.LobbyStatistics.
This callback has two preconditions: EnableLobbyStatistics must be set to true, before this client connects. And the client has to be connected to the Master Server, which is providing the info about lobbies.
Implements ILobbyCallbacks.
|
virtual |
Called after switching to a new MasterClient when the current one leaves.
This is not called when this client enters a room. The former MasterClient is still in the player list when this method get called.
Implements IInRoomCallbacks.
|
virtual |
Called when a remote player entered the room. This Player is already added to the playerlist.
If your game starts with a certain number of players, this callback can be useful to check the Room.playerCount and find out if you can start.
Implements IInRoomCallbacks.
Reimplemented in PlayerNumbering, and PunTeams.
|
virtual |
Called when a remote player left the room or became inactive. Check otherPlayer.IsInactive.
If another player leaves the room or if the server detects a lost connection, this callback will be used to notify your game logic.
Depending on the room's setup, players may become inactive, which means they may return and retake their spot in the room. In such cases, the Player stays in the Room.Players dictionary.
If the player is not just inactive, it gets removed from the Room.Players dictionary, before the callback is called.
Implements IInRoomCallbacks.
Reimplemented in PlayerNumbering, and PunTeams.
|
virtual |
Called when custom player-properties are changed. Player and the changed properties are passed as object[].
Changing properties must be done by Player.SetCustomProperties, which causes this callback locally, too.
- Parameters
-
targetPlayer Contains Player that changed. changedProps Contains the properties that changed.
Implements IInRoomCallbacks.
Reimplemented in PlayerNumbering, and PunTeams.
|
virtual |
Called when the Name Server provided a list of regions for your title.
Check the RegionHandler class description, to make use of the provided values.
- Parameters
-
regionHandler The currently used RegionHandler.
Implements IConnectionCallbacks.
|
virtual |
Called for any update of the room-listing while in a lobby (InLobby) on the Master Server.
Each item is a RoomInfo which might include custom properties (provided you defined those as lobby-listed when creating a room). Not all types of lobbies provide a listing of rooms to the client. Some are silent and specialized for server-side matchmaking.
Implements ILobbyCallbacks.
|
virtual |
Called when a room's custom properties changed. The propertiesThatChanged contains all that was set via Room.SetCustomProperties.
Since v1.25 this method has one parameter: Hashtable propertiesThatChanged.
Changing properties must be done by Room.SetCustomProperties, which causes this callback locally, too.
- Parameters
-
propertiesThatChanged
Implements IInRoomCallbacks.
Reimplemented in PunTurnManager, and CountdownTimer.