The NetworkIdentity identifies objects across the network, between server and clients. Its primary data is a NetworkInstanceId which is allocated by the server and then set on clients. This is used in network communications to be able to lookup game objects on different machines.
El NetworkIdentity es usado para sincronizar la información del objeto con la red. Solo el servidor debe crear instancias de los objetos que tengan NetworkIdentity, porque de lo contrario no estarán conectados apropiadamente al sistema.
For complex objects with a hierarchy of subcomponents, the NetworkIdentity must be on the root of the hierarchy. It is not supported to have multiple NetworkIdentity components on subcomponents of a hierarchy.
NetworkBehaviour scripts require a NetworkIdentity on the game object to be able to function.
The NetworkIdentity manages the dirty state of the NetworkBehaviours of the object. When it discovers that NetworkBehaviours are dirty, it causes an update packet to be created and sent to clients.
The flow for serialization updates managed by the NetworkIdentity is:
* Cada NetworkBehaviour tiene una mask dirty ( sucia). Esta mask (mascara) está disponible dentro de OnSerialize como syncVarDirtyBits
* Cada SyncVar en un script NetworkBehaviour es asignado un bit en la mask dirty.
* Cambiar el valor de SyncVars causa el bit para ese SyncVar en ser configurada en la mask dirty (sucia)
* Alternativamente, el llamado de SetDirtyBit() escribe directamente a la mask dirty
* NetworkIdentity objects are checked on the server as part of it’s update loop
* Si cualquiera de los NetworkBehaviours (Comportamientos de red) en una NetworkIdentity están dirty (sucios), entonces un paquete de UpdateVars es creado para ese objeto
* El paquete UpdateVars es poblado al llamar OnSerialize en cada NetworkBehaviour en el objeto
* Los NetworkBehaviours (comportamientos en red) que NO están dirty (sucios) escriben un cero al paquete para sus bits dirty
* Los NetworkBehaviours (Comportamientos en red) que están dirty (sucios) escriben su dirty mask, luego los valores de las SyncVars que han cambiado
* If OnSerialize returns true for a NetworkBehaviour, the dirty mask is reset for that NetworkBehaviour, so it will not send again
until its value changes.
* El paquete UpdateVars es enviado para alistar a los clientes que están observando el objeto
En el cliente:
* un paquete UpdateVars es recibido para un objeto
* La función OnDeserialize se llama para cada script NetworkBehaviour en el objeto
* Cada script NetworkBehaviour en el objeto lee una dirty mask.
* Si la dirty mask para un NetworkBehaviour es cero, las funciones OnDeserialize devuelve sin leer más
* If la dirty mask es un valor diferente a cero, entonces la función OnDeserialize lee los valores para las SyncVars que corresponden a los bits dirty (sucios) que están configurados
* Si hay funciones hook (enganche) de SyncVar, estas son invocadas con su valor leído del flujo (stream).
clientAuthorityCallback | A callback that can be populated to be notified when the client-authority state of objects changes. |
assetId | Identificador único usado para encontrar a los assets fuente cuando el servidor genera sobre los clientes. |
clientAuthorityOwner | El cliente tiene autoridad para este objeto. Este será null si ningún cliente tiene autoridad. |
connectionToClient | La UConnection asociada con esta instancia de NetworkIdentity. Solo es válida para objetos de jugador en el servidor. |
connectionToServer | La UConnection asociada con esta instancia de NetworkIdentity. Solo es válida para objetos de jugador en un cliente local. |
hasAuthority | Devuelve true si este objeto es su versión autoritaria en la aplicación distribuida en red. |
isClient | Devuelve true si está ejecutándose como un cliente, y este objeto fue generado por un servidor. |
isLocalPlayer | Devuelve true si este objeto es el que representa al jugador en la máquina local. |
isServer | Devuelve true si está ejecutándose como un servidor, el cual generó al objeto. |
localPlayerAuthority | LocalPlayerAuthority significa que el cliente del jugador "dueño" tiene autoridad sobre su propio objeto de jugador. |
netId | Identificador único para esta instancia particular de objeto, usado para hacer seguimiento a objetos entre los clientes de red y el servidor. |
observers | Conjunto de conexiones de red (jugadores) que pueden ver a este objeto. |
playerControllerId | El id del jugador asociado con este objeto. |
sceneId | Identificador único para objetos de NetworkIdentity dentro de una escena. |
serverOnly | Valor booleano para hacer que este objeto exista únicamente cuando el juego esté ejecutándose como un servidor (o anfitrión). |
AssignClientAuthority | This assigns control of an object to a client via the client's NetworkConnection. |
ForceSceneId | Colocar obligadamente el ID de escena a un valor específico. |
RebuildObservers | Ocasiona que sea reconstruido el conjunto de jugadores que pueden ver a este objeto. La función de callback OnRebuildObservers será invocada en cada instancia de NetworkBehaviour. |
RemoveClientAuthority | Removes ownership for an object for a client by its conneciton. |
ClientAuthorityCallback | The delegate type for the clientAuthorityCallback. |
enabled | Enabled Behaviours are Updated, disabled Behaviours are not. |
isActiveAndEnabled | Has the Behaviour had enabled called. |
gameObject | El game object que tiene este componente adjunto. Un componente siempre está adjunto a un game object. |
tag | El tag de este game object. |
transform | The Transform attached to this GameObject. |
runInEditMode | Allow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor). |
useGUILayout | Desactivar 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? |
name | El nombre del objeto. |
BroadcastMessage | Llama 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? |
GetComponent | Devuelve un componente de tipo type si el game object tiene a alguno adjuntado, o null si no lo tiene. |
GetComponentInChildren | Retorna el componente de tipo type en el GameObject o cualquiera de sus hijos utilizando depth first search (busqueda de profundidad). |
GetComponentInParent | Retorna el componente de tipo type en el GameObject o cualquiera de sus padres. |
GetComponents | Retorna todos los componentes de tipo type en el GameObject. |
GetComponentsInChildren | Retorna todos los componentes de tipo type en el GameObject o cualquiera de sus hijo. |
GetComponentsInParent | Retorna todos los componentes de tipo type en el GameObject o cualquiera de sus padres. |
SendMessage | Llama al método denominado methodName en cada MonoBehaviour de este game object. |
SendMessageUpwards | Llama al método denominado methodName en todos los MonoBehaviour de este juego y en todos los ancestros del behaviour. |
CancelInvoke | Cancela todas las llamadas de Invocación en este MonoBehaviour. |
Invoke | Invoca el método methodName en tiempo de segundos. |
InvokeRepeating | Invoca el método methodName en time segundos, luego repetidamente cada repeatRate segundos. |
IsInvoking | Hay una invocación methodName pendiente? |
StartCoroutine | Comienza una co-routine. |
StopAllCoroutines | Para todas las coroutines ejecutándose en este comportamiento. |
StopCoroutine | Para la primera coroutine llamada methodName, o la coroutine almacenada en routine ejecutando este comportamiento. |
GetInstanceID | Devuelve el id de la instancia del objeto. |
ToString | Devuelve el nombre del objeto. |
Los mensajes Logs a la consola de Unity (idéntico a Debug.Log). | |
Destroy | Elimina un gameobject, componente o asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Hace que el objeto target no sea destruido automáticamente cuando se cargue una nueva escena. |
FindObjectOfType | Devuelve el primer objeto activo cargado de tipo type. |
FindObjectsOfType | Devuelve una lista de todos los objetos activos cargados de tipo type. |
Instantiate | Clona el objeto original y devuelve el clon. |
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. |
Awake | Awake se llama cuando la instancia del script está siendo cargada. |
FixedUpdate | Esta función se puede llamar cada frame de framerate fijo, si el MonoBehaviour está habilitado. |
LateUpdate | LateUpdate se llama cada frame, si Behaviour está habilitado. |
OnAnimatorIK | Callback para ajustar el IK (inverse kinematics) de animación |
OnAnimatorMove | Callback para procesar movimientos de animación para modificar movimiento raíz. |
OnApplicationFocus | Enviado a todos los GameObjects cuando el jugador obtiene o pierde foco. |
OnApplicationPause | Enviado a todos los GameObjects cuando la aplicación pausa. |
OnApplicationQuit | Enviado a todos los game objects antes de que la aplicación se salga. |
OnAudioFilterRead | Si OnAudioFilterRead es implementado, Unity insertará un filtro personalizado a la cadena de audio DSP. |
OnBecameInvisible | OnBecameInvisible se llama cuando el renderer ya no es visible por cualquier cámara. |
OnBecameVisible | OnBecameVisible se llama cuando el renderer se vuelve visible por cualquier cámara. |
OnCollisionEnter | OnCollisionEnter se llama cuando el Collider o Rigidbody entra en contacto con otro Collider/Rigidbody. |
OnCollisionEnter2D | Se envia cuando un collider entrante entra en contacto con el collider de este objeto (física 2D solamente). |
OnCollisionExit | OnCollisionExit se llama cuando este collider/rigidbody ha dejado de tocar otro rigidbody/collider. |
OnCollisionExit2D | Enviado cuando un collider en otro objeto para de tocar el collider de este objeto (física 2D solamente). |
OnCollisionStay | OnCollisionStay se llama cada frame para cada collider/rigidbody que está tocando rigidbody/collider. |
OnCollisionStay2D | Enviado cada frame donde un collider en otro objeto está tocando el collider de este objeto (física 2D solamente). |
OnConnectedToServer | Llamado en el cliente cuando usted se ha conectado con éxito a un servidor. |
OnControllerColliderHit | OnControllerColliderHit se llama cuando el controller golpea a un collider mientras realiza un Move (movimiento). |
OnDestroy | Esta función es llamada cuando el MonoBehaviour será destruido. |
OnDisable | Esta función se llama cuando el comportamiento se desactiva () o inactivo. |
OnDisconnectedFromServer | Llamado en el cliente cuando la conexión se ha perdido o usted se ha desconectado del servidor. |
OnDrawGizmos | Implementa OnDrawGizmos si usted quiere dibujar gizmos que también se recojan y siempre se dibujen. |
OnDrawGizmosSelected | Implementa OnDrawGizmosSelected para dibujar un gizmo si el objeto es seleccionado. |
OnEnable | Esta función se llama cuando el objeto se vuelve habilitado y activo. |
OnFailedToConnect | Llamado en el cliente cuando un intento de conexión falla por alguna razón. |
OnFailedToConnectToMasterServer | Llamado en los clientes o servidores donde hay un problema conectándose al MasterServer. |
OnGUI | OnGUI se llama para el rendering y el manejo de eventos GUI. |
OnJointBreak | Llamado cuando un joint adjuntado al mismo game object se rompe. |
OnJointBreak2D | Called when a Joint2D attached to the same game object breaks. |
OnMasterServerEvent | Llamado en clientes o servidores cuando se reporta eventos desde el MasterServer. |
OnMouseDown | OnMouseDown se llama cuando el usuario ha presionado el botón del mouse mientras está sobre el GUIElement o Collider. |
OnMouseDrag | OnMouseDrag se llama cuando el usuario ha oprimido un GUIElement o Collider y todavía tiene presionado el mouse. |
OnMouseEnter | Llamado cuando el mouse ingresa el GUIElement o Collider. |
OnMouseExit | Llamado cuando el mouse no está más sobre el GUIElement o Collider. |
OnMouseOver | Llamado cada frame mientras que el mouse está sobre el GUIElement o Collider. |
OnMouseUp | OnMouseUp se llama cuando el usuario ha soltado el botón del mouse. |
OnMouseUpAsButton | OnMouseUpAsButton es solamente llamado cuando el mouse se suelta sobre el mismo GUIElement o Collider a medida que era presionado. |
OnNetworkInstantiate | Llamado en objetos que han sido instaciados en la red con Network.Instantiate. |
OnParticleCollision | OnParticleCollision se llama cuando una partícula golpea un Collider. |
OnParticleTrigger | OnParticleTrigger se llama cuando cualquier partícula en un sistema de partículas coincide con las condiciones en el módulo trigger. |
OnPlayerConnected | Llamado en el servidor cuando un nuevo player se ha conectado con éxito. |
OnPlayerDisconnected | Llamado en el servidor cuando un player se ha desconectado del servidor. |
OnPostRender | OnPostRender se llama después de que la cámara ha terminado de renderizar la escena. |
OnPreCull | OnPreCull is called before a camera culls the scene. |
OnPreRender | OnPreRender se llama antes de que la cámara comience a renderizar la escena. |
OnRenderImage | OnRenderImage is called after all rendering is complete to render image. |
OnRenderObject | OnRenderObject is called after camera has rendered the scene. |
OnSerializeNetworkView | Utilizado para personalizar la sincronización de variables en un script observado por un network view. |
OnServerInitialized | Llamado en el servidor cada vez que un Network.InitializeServer fue invocado y se ha completado. |
OnTransformChildrenChanged | Esta función se llama cuando la lista de hijos del transform del GameObject ha cambiado. |
OnTransformParentChanged | Esta función se llama cuando la propiedad padre del transform de este GameObject ha cambiado. |
OnTriggerEnter | OnTriggerEnter se llama cuando Collider other ingresa el trigger. |
OnTriggerEnter2D | Enviado cuando otro objeto ingresa a un trigger collider adjunto a este objeto (física 2D solamente). |
OnTriggerExit | OnTriggerExit se llama cunado el Collider other ha parado de tocar el trigger. |
OnTriggerExit2D | Enviado cuando otro objeto deja un trigger collider adjunto a este objeto (física 2D solamente). |
OnTriggerStay | OnTriggerStay is called once per physics update for every Collider other that is touching the trigger. |
OnTriggerStay2D | Enviado cada frame donde otro objeto está dentro de un trigger collider adjunto a este objeto (física 2D solamente). |
OnValidate | Esta función se llama cuando el script se ha cargado o un valor ha cambiado en el inspector (Llamado solamente en el editor). |
OnWillRenderObject | OnPreRender se llama antes de que la cámara comience a renderizar la escena. |
Reset | Se re-inicia a los valores predeterminados. |
Start | Start se llama en el frame cuando un script está habilitado justo antes de que cualquier otro método Update sea llamado la primera vez. |
Update | Update se llama cada frame, si MonoBehaviour está habilitado. |