// Comment
// ----------------------------------------------------------------------------
//
// PhotonNetwork Framework for Unity - Copyright (C) 2011 Exit Games GmbH
//
//
//
//
// developer@exitgames.com
// ----------------------------------------------------------------------------
using ExitGames.Client.Photon;
///
/// High level connection state of the client. Better use the more detailed .
///
public enum ConnectionState
{
Disconnected,
Connecting,
Connected,
Disconnecting,
InitializingApplication
}
///
/// Detailed connection / networking peer state.
/// PUN implements a loadbalancing and authentication workflow "behind the scenes", so
/// some states will automatically advance to some follow up state. Those states are
/// commented with "(will-change)".
///
/// \ingroup publicApi
public enum PeerState
{
/// Not running. Only set before initialization and first use.
Uninitialized,
/// Created and available to connect.
PeerCreated,
/// Working to establish the initial connection to the master server (until this process is finished, no operations can be sent).
/// (will-change)
Connecting,
/// Connection is setup, now PUN will exchange keys for encryption or authenticate.
/// (will-change)
Connected,
/// Not used at the moment.
Queued,
/// The application is authenticated. PUN usually joins the lobby now.
/// (will-change) Unless AutoJoinLobby is false.
Authenticated,
/// Client is in the lobby of the Master Server and gets room listings.
/// Use Join, Create or JoinRandom to get into a room to play.
JoinedLobby,
/// Disconnecting.
/// (will-change)
DisconnectingFromMasterserver,
/// Connecting to game server (to join/create a room and play).
/// (will-change)
ConnectingToGameserver,
/// Similar to Connected state but on game server. Still in process to join/create room.
/// (will-change)
ConnectedToGameserver,
/// In process to join/create room (on game server).
/// (will-change)
Joining,
/// Final state of a room join/create sequence. This client can now exchange events / call RPCs with other clients.
Joined,
/// Leaving a room.
/// (will-change)
Leaving,
/// Workflow is leaving the game server and will re-connect to the master server.
/// (will-change)
DisconnectingFromGameserver,
/// Workflow is connected to master server and will establish encryption and authenticate your app.
/// (will-change)
ConnectingToMasterserver,
/// Same as Connected but coming from game server.
/// (will-change)
ConnectedComingFromGameserver,
/// Same Queued but coming from game server.
/// (will-change)
QueuedComingFromGameserver,
/// PUN is disconnecting. This leads to Disconnected.
/// (will-change)
Disconnecting,
/// No connection is setup, ready to connect. Similar to PeerCreated.
Disconnected,
/// Final state for connecting to master without joining the lobby (AutoJoinLobby is false).
ConnectedToMaster
}
///
/// Internal state how this peer gets into a particular room (joining it or creating it).
///
internal enum JoinType
{
CreateGame,
JoinGame,
JoinRandomGame
}
// Photon properties, internally set by PhotonNetwork (PhotonNetwork builtin properties)
///
/// This enum makes up the set of MonoMessages sent by Photon Unity Networking.
/// Implement any of these constant names as method and it will be called
/// in the respective situation.
///
///
/// Implement:
/// public void OnLeftRoom() { //some work }
///
/// \ingroup publicApi
public enum PhotonNetworkingMessage
{
///
/// Called when the server is available and before client authenticates. Wait for the call to OnJoinedLobby (or OnConnectedToMaster) before the client does anything!
/// Example: void OnConnectedToPhoton(){ ... }
///
/// This is not called for transitions from the masterserver to game servers, which is hidden for PUN users.
OnConnectedToPhoton,
///
/// Called once the local user left a room.
/// Example: void OnLeftRoom(){ ... }
///
OnLeftRoom,
///
/// Called -after- switching to a new MasterClient because the previous MC left the room (not when getting into a room). The last MC will already be removed at this time.
/// Example: void OnMasterClientSwitched(PhotonPlayer newMasterClient){ ... }
///
OnMasterClientSwitched,
///
/// Called if a CreateRoom() call failed. Most likely because the room name is already in use.
/// Example: void OnPhotonCreateRoomFailed(){ ... }
///
OnPhotonCreateRoomFailed,
///
/// Called if a JoinRoom() call failed. Most likely because the room does not exist or the room is full.
/// Example: void OnPhotonJoinRoomFailed(){ ... }
///
OnPhotonJoinRoomFailed,
///
/// Called when CreateRoom finishes creating the room. After this, OnJoinedRoom will be called, too (no matter if creating one or joining).
/// Example: void OnCreatedRoom(){ ... }
///
/// This implies the local client is the MasterClient.
OnCreatedRoom,
///
/// Called on entering the Master Server's lobby. Client can create/join rooms but room list is not available until OnReceivedRoomListUpdate is called!
/// Example: void OnJoinedLobby(){ ... }
///
///
/// Note: When PhotonNetwork.autoJoinLobby is false, OnConnectedToMaster will be called instead and the room list won't be available.
/// While in the lobby, the roomlist is automatically updated in fixed intervals (which you can't modify).
///
OnJoinedLobby,
///
/// Called after leaving the lobby.
/// Example: void OnLeftLobby(){ ... }
///
OnLeftLobby,
///
/// Called after disconnecting from the Photon server.
/// In some cases, other events are sent before OnDisconnectedFromPhoton is called. Examples: OnConnectionFail and OnFailedToConnectToPhoton.
/// Example: void OnDisconnectedFromPhoton(){ ... }
///
OnDisconnectedFromPhoton,
///
/// Called when something causes the connection to fail (after it was established), followed by a call to OnDisconnectedFromPhoton.
/// If the server could not be reached in the first place, OnFailedToConnectToPhoton is called instead.
/// The reason for the error is provided as StatusCode.
/// Example: void OnConnectionFail(DisconnectCause cause){ ... }
///
OnConnectionFail,
///
/// Called if a connect call to the Photon server failed before the connection was established, followed by a call to OnDisconnectedFromPhoton.
/// If the connection was established but then fails, OnConnectionFail is called.
/// Example: void OnFailedToConnectToPhoton(DisconnectCause cause){ ... }
///
OnFailedToConnectToPhoton,
///
/// Called for any update of the room listing (no matter if "new" list or "update for known" list). Only called in the Lobby state (on master server).
/// Example: void OnReceivedRoomListUpdate(){ ... }
///
OnReceivedRoomListUpdate,
///
/// Called when entering a room (by creating or joining it). Called on all clients (including the Master Client).
/// Example: void OnJoinedRoom(){ ... }
///
OnJoinedRoom,
///
/// Called after a remote player connected to the room. This PhotonPlayer is already added to the playerlist at this time.
/// Example: void OnPhotonPlayerConnected(PhotonPlayer newPlayer){ ... }
///
OnPhotonPlayerConnected,
///
/// Called after a remote player disconnected from the room. This PhotonPlayer is already removed from the playerlist at this time.
/// Example: void OnPhotonPlayerDisconnected(PhotonPlayer otherPlayer){ ... }
///
OnPhotonPlayerDisconnected,
///
/// Called after a JoinRandom() call failed. Most likely all rooms are full or no rooms are available.
/// Example: void OnPhotonRandomJoinFailed(){ ... }
///
OnPhotonRandomJoinFailed,
///
/// Called after the connection to the master is established and authenticated but only when PhotonNetwork.AutoJoinLobby is false.
/// If AutoJoinLobby is false, the list of available rooms won't become available but you could join (random or by name) and create rooms anyways.
/// Example: void OnConnectedToMaster(){ ... }
///
OnConnectedToMaster,
///
/// Called every network 'update' on MonoBehaviours that are being observed by a PhotonView.
/// Example: void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info){ ... }
///
OnPhotonSerializeView,
///
/// Called on all scripts on a GameObject(and it's children) that have been spawned using PhotonNetwork.Instantiate
/// Example: void OnPhotonInstantiate(PhotonMessageInfo info){ ... }
///
OnPhotonInstantiate,
///
/// Because the concurrent user limit was (temporarily) reached, this client is rejected by the server and disconnecting.
///
///
/// When this happens, the user might try again later. You can't create or join rooms in OnPhotonMaxCcuReached(), cause the client will be disconnecting.
/// You can raise the CCU limits with a new license (when you host yourself) or extended subscription (when using the Photon Cloud).
/// The Photon Cloud will mail you when the CCU limit was reached. This is also visible in the Dashboard (webpage).
/// Example: void OnPhotonMaxCccuReached(){ ... }
///
OnPhotonMaxCccuReached,
///
/// Called when inside a room when its custom properties have changed. This is ALSO called for room property changes by the local players.
///
///
/// Example: void OnPhotonCustomRoomPropertiesChanged(){ ... }
///
OnPhotonCustomRoomPropertiesChanged,
///
/// Called when inside a room when a players custom properties change.
///
///
/// Example: void OnPhotonPlayerPropertiesChanged(PhotonPlayer player){ ... }
///
OnPhotonPlayerPropertiesChanged,
///
/// Called when the server sent the response to a FindFriends request and updated PhotonNetwork.Friends.
///
///
/// Example: void OnUpdatedFriendList(){ ... }
///
OnUpdatedFriendList,
///
/// Called when the custom authentication failed (due to user-input, bad tokens/secrets or wrong configuration). Followed by disconnect!
/// Example: void OnCustomAuthenticationFailed(string debugMessage){ ... }
///
///
/// Unless you setup a custom authentication service for your app (in the Dashboard), this won't be called!
/// If authentication is successful, this method is also not called but OnJoinedLobby, OnConnectedToMaster will be called (just as usual).
///
OnCustomAuthenticationFailed,
}
///
/// Summarizes the cause for a disconnect. Used in: OnConnectionFail and OnFailedToConnectToPhoton.
///
/// Extracted from the status codes from ExitGames.Client.Photon.StatusCode.
///
/// \ingroup publicApi
public enum DisconnectCause
{
/// Connection could not be established.
/// Possible cause: Local server not running.
ExceptionOnConnect = StatusCode.ExceptionOnConnect,
/// The security settings for client or server don't allow a connection (see remarks).
///
/// A common cause for this is that browser clients read a "crossdomain" file from the server.
/// If that file is unavailable or not configured to let the client connect, this exception is thrown.
/// Photon usually provides this crossdomain file for Unity.
/// If it fails, read:
/// http://doc.exitgames.com/photon-server/PolicyApp
///
SecurityExceptionOnConnect = StatusCode.SecurityExceptionOnConnect,
/// Connection timed out.
/// Possible cause: Remote server not running or required ports blocked (due to router or firewall).
TimeoutDisconnect = StatusCode.TimeoutDisconnect,
/// Exception in the receive-loop.
/// Possible cause: Socket failure.
InternalReceiveException = StatusCode.InternalReceiveException,
/// Server actively disconnected this client.
DisconnectByServer = StatusCode.DisconnectByServer,
/// Server actively disconnected this client.
/// Possible cause: Server's send buffer full (too much data for client).
DisconnectByServerLogic = StatusCode.DisconnectByServerLogic,
/// Server actively disconnected this client.
/// Possible cause: The server's user limit was hit and client was forced to disconnect (on connect).
DisconnectByServerUserLimit = StatusCode.DisconnectByServerUserLimit,
/// Some exception caused the connection to close.
Exception = StatusCode.Exception,
/// (32756) Authorization on the Photon Cloud failed because the app's subscription does not allow to use a particular region's server.
InvalidRegion = ErrorCode.InvalidRegion,
/// (32757) Authorization on the Photon Cloud failed because the concurrent users (CCU) limit of the app's subscription is reached.
MaxCcuReached = ErrorCode.MaxCcuReached,
}
viernes, 4 de octubre de 2013
All Photon Unity Networking Enums and Network Messages
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario