Photon Unity Networking 2 2.30

Public Member Functions | Public Attributes | Static Public Attributes | Events | List of all members
PlayerNumbering Class Reference

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...
 
- Public Member Functions inherited from MonoBehaviourPunCallbacks
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

- Properties inherited from MonoBehaviourPun
PhotonView photonView [get]
 A cached reference to a PhotonView on this GameObject. More...
 

Detailed Description

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)

Member Function Documentation

◆ OnJoinedRoom()

override void OnJoinedRoom ( )
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.

◆ OnLeftRoom()

override void OnLeftRoom ( )
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.

◆ OnPlayerEnteredRoom()

override void OnPlayerEnteredRoom ( Player  newPlayer)
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.

◆ OnPlayerLeftRoom()

override void OnPlayerLeftRoom ( Player  otherPlayer)
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.

◆ OnPlayerPropertiesUpdate()

override void OnPlayerPropertiesUpdate ( Player  targetPlayer,
Hashtable  changedProps 
)
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
targetPlayerContains Player that changed.
changedPropsContains the properties that changed.

Reimplemented from MonoBehaviourPunCallbacks.

◆ PlayerNumberingChanged()

delegate void PlayerNumberingChanged ( )

OnPlayerNumberingChanged delegate. Use

◆ RefreshData()

void RefreshData ( )

Internal call Refresh the cached data and call the OnPlayerNumberingChanged delegate.

Member Data Documentation

◆ dontDestroyOnLoad

bool dontDestroyOnLoad = false

dont destroy on load flag for this Component's GameObject to survive Level Loading.

◆ instance

PlayerNumbering instance
static

The instance. EntryPoint to query about Room Indexing.

◆ RoomPlayerIndexedProp

const string RoomPlayerIndexedProp = "pNr"
static

Defines the room custom property name to use for room player indexing tracking.

Event Documentation

◆ OnPlayerNumberingChanged

PlayerNumberingChanged OnPlayerNumberingChanged
static

Called everytime the room Indexing was updated. Use this for discrete updates. Always better than brute force calls every frame.