Implements consistent numbering in a room/game with help of room properties. Access them by Player.GetPlayerNumber() extension. More...
Inherits MonoBehaviourPunCallbacks.
Public Member Functions | |
delegate void | PlayerNumberingChanged () |
OnPlayerNumberingChanged delegate. Use More... | |
void | Awake () |
override void | OnJoinedRoom () |
Called when the LoadBalancingClient entered a room, no matter if this client created it or simply joined. More... | |
override void | OnLeftRoom () |
Called when the local user/client left a room, so the game's logic can clean up it's internal state. More... | |
override void | OnPlayerEnteredRoom (Player newPlayer) |
Called when a remote player entered the room. This Player is already added to the playerlist. More... | |
override void | OnPlayerLeftRoom (Player otherPlayer) |
Called when a remote player left the room or became inactive. Check otherPlayer.IsInactive. More... | |
override void | OnPlayerPropertiesUpdate (Player targetPlayer, Hashtable changedProps) |
Called when custom player-properties are changed. Player and the changed properties are passed as object[]. More... | |
void | RefreshData () |
Internal call Refresh the cached data and call the OnPlayerNumberingChanged delegate. More... | |
![]() | |
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 | 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 | 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 | 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) |
Called when the response to a WebRPC is available. See LoadBalancingClient.OpWebRpc. More... | |
virtual void | OnLobbyStatisticsUpdate (List< TypedLobbyInfo > lobbyStatistics) |
Called when the Master Server sent an update for the Lobby Statistics. More... | |
virtual void | OnErrorInfo (ErrorInfo errorInfo) |
Called when the client receives an event from the server indicating that an error happened there. More... | |
Public Attributes | |
bool | dontDestroyOnLoad = false |
dont destroy on load flag for this Component's GameObject to survive Level Loading. More... | |
Static Public Attributes | |
static PlayerNumbering | instance |
The instance. EntryPoint to query about Room Indexing. More... | |
static Player[] | SortedPlayers |
const string | RoomPlayerIndexedProp = "pNr" |
Defines the room custom property name to use for room player indexing tracking. More... | |
Events | |
static PlayerNumberingChanged | OnPlayerNumberingChanged |
Called everytime the room Indexing was updated. Use this for discrete updates. Always better than brute force calls every frame. More... | |
Additional Inherited Members | |
![]() | |
PhotonView | photonView [get] |
A cached reference to a PhotonView on this GameObject. More... | |
Implements consistent numbering in a room/game with help of room properties. Access them by Player.GetPlayerNumber() extension.
indexing ranges from 0 to the maximum number of Players. indexing remains for the player while in room. If a Player is numbered 2 and player numbered 1 leaves, numbered 1 become vacant and will assigned to the future player joining (the first available vacant number is assigned when joining)
|
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).
Reimplemented from MonoBehaviourPunCallbacks.
|
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.
Reimplemented from MonoBehaviourPunCallbacks.
|
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.
Reimplemented from MonoBehaviourPunCallbacks.
|
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.
Reimplemented from MonoBehaviourPunCallbacks.
|
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.
targetPlayer | Contains Player that changed. |
changedProps | Contains the properties that changed. |
Reimplemented from MonoBehaviourPunCallbacks.
delegate void PlayerNumberingChanged | ( | ) |
OnPlayerNumberingChanged delegate. Use
void RefreshData | ( | ) |
Internal call Refresh the cached data and call the OnPlayerNumberingChanged delegate.
bool dontDestroyOnLoad = false |
dont destroy on load flag for this Component's GameObject to survive Level Loading.
|
static |
The instance. EntryPoint to query about Room Indexing.
|
static |
Defines the room custom property name to use for room player indexing tracking.
|
static |
Called everytime the room Indexing was updated. Use this for discrete updates. Always better than brute force calls every frame.