private void Update() { if (galeria.GetExhibidor().GetEntidadGaleria() != uientidad) { uientidad = galeria.GetExhibidor().GetEntidadGaleria(); if (uientidad != null) { Metadata data = uientidad.GetMetadata(nombre); if (data.IsNombre(nombre)) { SetUINombre(data.GetNombre()); SetUIContenido(data.GetContenido()); } } else { SetUINombre(""); SetUIContenido(""); } } }
private void Update() { switch (estado) { case EntidadGaleriaEstado.ALMACEN: targetposicion = almacen.GetPosicion(); targetposicionvelocidad = almacen.GetVelocidadLineal(); if (almacen.IsForzarRotacion()) { targetrotacion = almacen.GetRotacion(); } targetrotacionvelocidad = almacen.GetVelocidadAngular(); break; case EntidadGaleriaEstado.ENTRADA: if (direccion == EntidadGaleriaDireccion.DERECHA) { if (derecha == null) { SetEstado(EntidadGaleriaEstado.EXHIBIDA, EntidadGaleriaDireccion.DESCONOCIDO); } else { targetposicion = derecha.GetPosicion(); targetposicionvelocidad = derecha.GetVelocidadLineal(); if (derecha.IsForzarRotacion()) { targetrotacion = derecha.GetRotacion(); } targetrotacionvelocidad = derecha.GetVelocidadAngular(); if (derecha.IsPosicion(this)) { SetEstado(EntidadGaleriaEstado.EXHIBIDA, EntidadGaleriaDireccion.DESCONOCIDO); } } } else if (direccion == EntidadGaleriaDireccion.IZQUIERDA) { if (izquierda == null) { SetEstado(EntidadGaleriaEstado.EXHIBIDA, EntidadGaleriaDireccion.DESCONOCIDO); } else { targetposicion = izquierda.GetPosicion(); targetposicionvelocidad = izquierda.GetVelocidadLineal(); if (izquierda.IsForzarRotacion()) { targetrotacion = izquierda.GetRotacion(); } targetrotacionvelocidad = izquierda.GetVelocidadAngular(); if (izquierda.IsPosicion(this)) { SetEstado(EntidadGaleriaEstado.EXHIBIDA, EntidadGaleriaDireccion.DESCONOCIDO); } } } break; case EntidadGaleriaEstado.SALIDA: if (direccion == EntidadGaleriaDireccion.DERECHA) { if (derecha == null) { SetEstado(EntidadGaleriaEstado.ALMACEN, EntidadGaleriaDireccion.DESCONOCIDO); } else { targetposicion = derecha.GetPosicion(); targetposicionvelocidad = derecha.GetVelocidadLineal(); if (derecha.IsForzarRotacion()) { targetrotacion = derecha.GetRotacion(); } targetrotacionvelocidad = derecha.GetVelocidadAngular(); if (derecha.IsPosicion(this)) { SetEstado(EntidadGaleriaEstado.ALMACEN, EntidadGaleriaDireccion.DESCONOCIDO); } } } else if (direccion == EntidadGaleriaDireccion.IZQUIERDA) { if (izquierda == null) { SetEstado(EntidadGaleriaEstado.ALMACEN, EntidadGaleriaDireccion.DESCONOCIDO); } else { targetposicion = izquierda.GetPosicion(); targetposicionvelocidad = izquierda.GetVelocidadLineal(); if (izquierda.IsForzarRotacion()) { targetrotacion = izquierda.GetRotacion(); } targetrotacionvelocidad = izquierda.GetVelocidadAngular(); if (izquierda.IsPosicion(this)) { SetEstado(EntidadGaleriaEstado.ALMACEN, EntidadGaleriaDireccion.DESCONOCIDO); } } } break; case EntidadGaleriaEstado.EXHIBIDA: targetposicion = galeria.GetExhibidor().GetPosicion(); targetposicionvelocidad = galeria.GetExhibidor().GetVelocidadLineal(); targetrotacion = galeria.GetExhibidor().GetRotacion(); targetrotacionvelocidad = galeria.GetExhibidor().GetVelocidadAngular(); break; } if (control) { if (targetposicionvelocidad <= 0) { transform.position = targetposicion; } else { transform.position = Vector3.MoveTowards(transform.position, targetposicion, targetposicionvelocidad * Time.deltaTime); } if (targetrotacionvelocidad <= 0) { transform.rotation = targetrotacion; } else { transform.rotation = Quaternion.RotateTowards(transform.rotation, targetrotacion, targetrotacionvelocidad * Time.deltaTime); } } }