Componente
Base de comportamiento de Unity asociada a un Objeto de red.
Componente
Componente es la clase base para comportamientos de Unity que necesitan identidad de red, estado sincronizado, RFC, instanciación o destrucción.
Herencia
public class MiUnidad : Componente
{
}El componente busca un Objeto en su jerarquía durante Awake() y prepara su tabla de métodos remotos.
API principal
| Miembro | Propósito |
|---|---|
ero | Objeto asociado, creado/resuelto cuando es necesario |
Get<T>(nombre, defecto) | Leer un dato |
Set(nombre, valor, sync) | Escribir un dato |
immediateSync | Sincronización por defecto de Set |
Instantiate(...) | Crear un objeto en el canal del componente |
DestroySelf() | Destruir la entidad de red |
RemoveAllSavedRFCs() | Eliminar RFC guardadas asociadas |
Obtener datos
int vida = Get<int>("vida", 100);
Nodo nodo = Get("vida");La sobrecarga con valor por defecto evita depender de la existencia previa del nodo.
Establecer datos
Set("vida", 100);
Set("vida", 100, sync: false);
immediateSync = false;También acepta una expresión textual de la forma clave = valor:
Set("vida = 100");La conversión textual depende del sistema Nodo y no es la opción recomendada para datos de alto rendimiento.
Instanciación
La instancia se crea en el canal del Objeto asociado:
Instantiate(
"CrearUnidad",
"Units/Soldier",
persistent: false,
transform.position
);Existe además la variante que recibe el ID de una RCR.
Destrucción
DestroySelf();
DestroySelf(2f);La variante con retraso permite programar la destrucción manteniendo las reglas de ownership establecidas por Eco.
Inicio diferido
Componente utiliza ActualizadorRed para diferir OnStart() y evitar depender del Start() estándar de Unity para la preparación del objeto de red.
Awake()
↓
Objeto asociado
↓
ActualizadorRed
↓
OnStart()
↓
Métodos remotos preparadosEsto es especialmente importante en jerarquías y prefabs que se registran durante cambios de escena.
Prefabs
La configuración recomendada es colocar explícitamente Objeto en el prefab que represente una entidad de red. La creación automática de Objeto es una red de seguridad y no una sustitución del setup del prefab.
RFC guardadas
RemoveAllSavedRFCs() inspecciona métodos marcados como RFC persistentes y elimina sus entradas guardadas para el objeto.
Código fuente
Componente.cs
Implementación actual.
Objeto
Identidad de red asociada al componente.
ActualizadorRed
Scheduler que controla el ciclo de inicio y actualización.
