Version: 2017.1

NetworkMigrationManager

class in UnityEngine.Networking

/

Hereda de:MonoBehaviour

Cambiar al Manual

Descripción

A component that manages the process of a new host taking over a game when the old host is lost. This is referred to as "host migration". The migration manager sends information about each peer in the game to all the clients, and when the host is lost because of a crash or network outage, the clients are able to choose a new host, and continue the game.

The old host is able to rejoin the new game on the new host.

The state of SyncVars and SyncLists on all objects with NetworkIdentities in the scene is maintained during a host migration. This also applies to custom serialized data for objects.

All of the player objects in the game are disabled when the host is lost. Then, when the other clients rejoin the new game on the new host, the corresponding players for those clients are re-enabled on the host, and respawned on the other clients. No player state data is lost during a host migration.

This class provides a simple default UI for controlling the behaviour when the host is lost. The UI can be disabled with the showGUI property. There are a number of virtual functions that can be implemented to customize the behaviour of host migration.

Note that only data that is available to clients will be preserved during a host migration. If there is data that is only on the server, then it will not be available to the client that becomes the new host. This means data on the host that is not in SyncVars or SyncLists will not be available after a host migration.

The callback function OnStartServer is invoked for all networked objects when the client becomes a new host.

On the new host, the NetworkMigrationManager uses the function NetworkServer.BecomeNewHost() to construct a networked server scene from the state in the current ClientScene.

The peers in a game with host migration enabled are identified by their connectionId on the server. When a client reconnects to the new host of a game, this connectionId is passed to the new host so that it can match this client with the client that was connected to the old host. This Id is set on the ClientScene as the "reconnectId".

The old host of the game, the one that crashed or lost its network connection, can also reconnect to the new game as a client. This client uses the special ReconnectId of ClientScene.ReconnectIdHost (which is zero).

Variables

clientThe client instance that is being used to connect to the host.
disconnectedFromHostTrue is this is a client that has been disconnected from a host.
hostMigrationControls whether host migration is active.
hostWasShutdownTrue if this was the host and the host has been shut down.
matchInfoInformation about the match. This may be null if there is no match.
newHostAddressThe IP address of the new host to connect to.
offsetXThe X offset in pixels of the migration manager default GUI.
offsetYThe Y offset in pixels of the migration manager default GUI.
oldServerConnectionIdThe connectionId that this client was assign on the old host.
peersThe set of peers involved in the game. This includes the host and this client.
pendingPlayersThe player objects that have been disabled, and are waiting for their corresponding clients to reconnect.
showGUIFlag to toggle display of the default UI.
waitingReconnectToNewHostTrue if this is a client that was disconnected from the host and is now waiting to reconnect to the new host.
waitingToBecomeNewHostTrue if this is a client that was disconnected from the host, and was chosen as the new host.

Funciones Públicas

BecomeNewHostThis causes a client that has been disconnected from the host to become the new host of the game.
DisablePlayerObjectsThis causes objects for known players to be disabled.
FindNewHostThis is a utility function to pick one of the peers in the game as the new host.
InitializeUsed to initialize the migration manager with client and match information.
LostHostOnClientThis should be called on a client when it has lost its connection to the host.
LostHostOnHostThis should be called on a host when it has has been shutdown.
ReconnectObjectForConnectionThis re-establishes a non-player object with client authority with a client that is reconnected. It is similar to NetworkServer.SpawnWithClientAuthority().
ReconnectPlayerForConnectionThis re-establishes a player object with a client that is reconnected. It is similar to NetworkServer.AddPlayerForConnection(). The player game object will become the player object for the new connection.
ResetResets the migration manager, and sets the ClientScene's ReconnectId.
SendPeerInfoThis sends the set of peers in the game to all the peers in the game.

Funciones Protegidas

OnAuthorityUpdatedA virtual function that is called when the authority of a non-player object changes.
OnClientDisconnectedFromHostA virtual function that is called when the client is disconnected from the host.
OnPeersUpdatedA virtual function that is called when the set of peers in the game changes.
OnServerHostShutdownA virtual function that is called when the host is shutdown.
OnServerReconnectObjectA virtual function that is called for non-player objects with client authority on the new host when a client from the old host reconnects to the new host.
OnServerReconnectPlayerA virtual function that is called on the new host when a client from the old host reconnects to the new host.

Miembros heredados

Variables

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledHas the Behaviour had enabled called.
gameObjectEl game object que tiene este componente adjunto. Un componente siempre está adjunto a un game object.
tagEl tag de este game object.
transformThe Transform attached to this GameObject.
runInEditModeAllow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor).
useGUILayoutDesactivar esto el deja a usted omitir la fase del diseño del GUI.
hideFlags¿Debería el objeto estar oculto, guardado con la escena o modificable por el usuario?
nameEl nombre del objeto.

Funciones Públicas

BroadcastMessageLlama al método denominado methodName de todos los MonoBehaviour en este game objecto en cualquiera de sus hijos.
CompareTag¿Este game object está etiquetado con tag?
GetComponentDevuelve un componente de tipo type si el game object tiene a alguno adjuntado, o null si no lo tiene.
GetComponentInChildrenRetorna el componente de tipo type en el GameObject o cualquiera de sus hijos utilizando depth first search (busqueda de profundidad).
GetComponentInParentRetorna el componente de tipo type en el GameObject o cualquiera de sus padres.
GetComponentsRetorna todos los componentes de tipo type en el GameObject.
GetComponentsInChildrenRetorna todos los componentes de tipo type en el GameObject o cualquiera de sus hijo.
GetComponentsInParentRetorna todos los componentes de tipo type en el GameObject o cualquiera de sus padres.
SendMessageLlama al método denominado methodName en cada MonoBehaviour de este game object.
SendMessageUpwardsLlama al método denominado methodName en todos los MonoBehaviour de este juego y en todos los ancestros del behaviour.
CancelInvokeCancela todas las llamadas de Invocación en este MonoBehaviour.
InvokeInvoca el método methodName en tiempo de segundos.
InvokeRepeatingInvoca el método methodName en time segundos, luego repetidamente cada repeatRate segundos.
IsInvokingHay una invocación methodName pendiente?
StartCoroutineComienza una co-routine.
StopAllCoroutinesPara todas las coroutines ejecutándose en este comportamiento.
StopCoroutinePara la primera coroutine llamada methodName, o la coroutine almacenada en routine ejecutando este comportamiento.
GetInstanceIDDevuelve el id de la instancia del objeto.
ToStringDevuelve el nombre del objeto.

Funciones Estáticas

printLos mensajes Logs a la consola de Unity (idéntico a Debug.Log).
DestroyElimina un gameobject, componente o asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadHace que el objeto target no sea destruido automáticamente cuando se cargue una nueva escena.
FindObjectOfTypeDevuelve el primer objeto activo cargado de tipo type.
FindObjectsOfTypeDevuelve una lista de todos los objetos activos cargados de tipo type.
InstantiateClona el objeto original y devuelve el clon.

Operadores

bool¿Existe el objeto?
operator !=Compare si dos objetos se refieren a un objeto diferente.
operator ==Compara dos referencias de objeto para ver si se refieren al mismo objeto.

Mensajes

AwakeAwake se llama cuando la instancia del script está siendo cargada.
FixedUpdateEsta función se puede llamar cada frame de framerate fijo, si el MonoBehaviour está habilitado.
LateUpdateLateUpdate se llama cada frame, si Behaviour está habilitado.
OnAnimatorIKCallback para ajustar el IK (inverse kinematics) de animación
OnAnimatorMoveCallback para procesar movimientos de animación para modificar movimiento raíz.
OnApplicationFocusEnviado a todos los GameObjects cuando el jugador obtiene o pierde foco.
OnApplicationPauseEnviado a todos los GameObjects cuando la aplicación pausa.
OnApplicationQuitEnviado a todos los game objects antes de que la aplicación se salga.
OnAudioFilterReadSi OnAudioFilterRead es implementado, Unity insertará un filtro personalizado a la cadena de audio DSP.
OnBecameInvisibleOnBecameInvisible se llama cuando el renderer ya no es visible por cualquier cámara.
OnBecameVisibleOnBecameVisible se llama cuando el renderer se vuelve visible por cualquier cámara.
OnCollisionEnterOnCollisionEnter se llama cuando el Collider o Rigidbody entra en contacto con otro Collider/Rigidbody.
OnCollisionEnter2DSe envia cuando un collider entrante entra en contacto con el collider de este objeto (física 2D solamente).
OnCollisionExitOnCollisionExit se llama cuando este collider/rigidbody ha dejado de tocar otro rigidbody/collider.
OnCollisionExit2DEnviado cuando un collider en otro objeto para de tocar el collider de este objeto (física 2D solamente).
OnCollisionStayOnCollisionStay se llama cada frame para cada collider/rigidbody que está tocando rigidbody/collider.
OnCollisionStay2DEnviado cada frame donde un collider en otro objeto está tocando el collider de este objeto (física 2D solamente).
OnConnectedToServerLlamado en el cliente cuando usted se ha conectado con éxito a un servidor.
OnControllerColliderHitOnControllerColliderHit se llama cuando el controller golpea a un collider mientras realiza un Move (movimiento).
OnDestroyEsta función es llamada cuando el MonoBehaviour será destruido.
OnDisableEsta función se llama cuando el comportamiento se desactiva () o inactivo.
OnDisconnectedFromServerLlamado en el cliente cuando la conexión se ha perdido o usted se ha desconectado del servidor.
OnDrawGizmosImplementa OnDrawGizmos si usted quiere dibujar gizmos que también se recojan y siempre se dibujen.
OnDrawGizmosSelectedImplementa OnDrawGizmosSelected para dibujar un gizmo si el objeto es seleccionado.
OnEnableEsta función se llama cuando el objeto se vuelve habilitado y activo.
OnFailedToConnectLlamado en el cliente cuando un intento de conexión falla por alguna razón.
OnFailedToConnectToMasterServerLlamado en los clientes o servidores donde hay un problema conectándose al MasterServer.
OnGUIOnGUI se llama para el rendering y el manejo de eventos GUI.
OnJointBreakLlamado cuando un joint adjuntado al mismo game object se rompe.
OnJointBreak2DCalled when a Joint2D attached to the same game object breaks.
OnMasterServerEventLlamado en clientes o servidores cuando se reporta eventos desde el MasterServer.
OnMouseDownOnMouseDown se llama cuando el usuario ha presionado el botón del mouse mientras está sobre el GUIElement o Collider.
OnMouseDragOnMouseDrag se llama cuando el usuario ha oprimido un GUIElement o Collider y todavía tiene presionado el mouse.
OnMouseEnterLlamado cuando el mouse ingresa el GUIElement o Collider.
OnMouseExitLlamado cuando el mouse no está más sobre el GUIElement o Collider.
OnMouseOverLlamado cada frame mientras que el mouse está sobre el GUIElement o Collider.
OnMouseUpOnMouseUp se llama cuando el usuario ha soltado el botón del mouse.
OnMouseUpAsButtonOnMouseUpAsButton es solamente llamado cuando el mouse se suelta sobre el mismo GUIElement o Collider a medida que era presionado.
OnNetworkInstantiateLlamado en objetos que han sido instaciados en la red con Network.Instantiate.
OnParticleCollisionOnParticleCollision se llama cuando una partícula golpea un Collider.
OnParticleTriggerOnParticleTrigger se llama cuando cualquier partícula en un sistema de partículas coincide con las condiciones en el módulo trigger.
OnPlayerConnectedLlamado en el servidor cuando un nuevo player se ha conectado con éxito.
OnPlayerDisconnectedLlamado en el servidor cuando un player se ha desconectado del servidor.
OnPostRenderOnPostRender se llama después de que la cámara ha terminado de renderizar la escena.
OnPreCullOnPreCull is called before a camera culls the scene.
OnPreRenderOnPreRender se llama antes de que la cámara comience a renderizar la escena.
OnRenderImageOnRenderImage is called after all rendering is complete to render image.
OnRenderObjectOnRenderObject is called after camera has rendered the scene.
OnSerializeNetworkViewUtilizado para personalizar la sincronización de variables en un script observado por un network view.
OnServerInitializedLlamado en el servidor cada vez que un Network.InitializeServer fue invocado y se ha completado.
OnTransformChildrenChangedEsta función se llama cuando la lista de hijos del transform del GameObject ha cambiado.
OnTransformParentChangedEsta función se llama cuando la propiedad padre del transform de este GameObject ha cambiado.
OnTriggerEnterOnTriggerEnter se llama cuando Collider other ingresa el trigger.
OnTriggerEnter2DEnviado cuando otro objeto ingresa a un trigger collider adjunto a este objeto (física 2D solamente).
OnTriggerExitOnTriggerExit se llama cunado el Collider other ha parado de tocar el trigger.
OnTriggerExit2DEnviado cuando otro objeto deja un trigger collider adjunto a este objeto (física 2D solamente).
OnTriggerStayOnTriggerStay se llama una vez por frame por cada Collider other que está tocando el trigger.
OnTriggerStay2DEnviado cada frame donde otro objeto está dentro de un trigger collider adjunto a este objeto (física 2D solamente).
OnValidateEsta función se llama cuando el script se ha cargado o un valor ha cambiado en el inspector (Llamado solamente en el editor).
OnWillRenderObjectOnPreRender se llama antes de que la cámara comience a renderizar la escena.
ResetSe re-inicia a los valores predeterminados.
StartStart se llama en el frame cuando un script está habilitado justo antes de que cualquier otro método Update sea llamado la primera vez.
UpdateUpdate se llama cada frame, si MonoBehaviour está habilitado.