Sustituye la cartera por Safe y compara el trabajo necesario
Elegir y consumir un componente Safe con lecturas comprobadas.
Ampliación opcional. No cuenta para completar la ruta principal.
En esta página
Objetivo: Elegir y consumir un componente Safe con lecturas comprobadas.
Antes de empezar: La cartera Normal terminada; trabaja sobre las copias indicadas.
Ampliación opcional. Completa primero el recorrido principal y vuelve cuando necesites esta capacidad.
La idea que vas a utilizar
Safe añade protección y comprobaciones en memoria. Su lectura puede fallar y debe comprobarse; no convierte por sí solo un archivo en un guardado protegido.
Predice antes de ejecutar
Si Try Get Value falla, ¿puedes mostrar cero como si fuera una lectura correcta?
Construye y comprueba
Conserva la práctica Normal. Duplica BP_MiCartera como BP_MiCarteraSafe y el widget como WBP_MiCarteraSafe. Haz los cambios en las copias.
- En BP_MiCarteraSafe añade Scientific Number Safe Value Component llamado WalletSafe. Durante BeginPlay, conecta Make Scientific Number (Base 1000, Exponent 0) directamente a New Value de Try Set Value, con WalletSafe como Target. Conecta la ejecución de BeginPlay directamente a Try Set Value y comprueba Return Value con Branch; en False conecta Out Error a Print Scientific Number Error. No añadas Try Make Safe Scientific Number: New Value recibe un Scientific Number normal y el componente lo protege internamente. Si ya añadiste ese nodo intermedio, elimínalo y reconecta ambos cables directamente. El componente ya se inicializa a cero antes de BeginPlay; aquí estableces el saldo inicial de 1000.
- En WBP_MiCarteraSafe cambia el tipo de la variable Cartera a BP_MiCarteraSafe Object Reference. Compila. En el actor cambia Create Widget a WBP_MiCarteraSafe y reconecta Self.
- En ActualizarSaldo reemplaza Get Value de Normal por Try Get Value de WalletSafe. Añade Branch. En True formatea Out Value y actualiza TXT_Saldo. En False muestra
No se pudo autenticar el saldo; no lo reemplaces por cero. - En Producir usa Try Add de WalletSafe, Amount 25. Revisa éxito/error y refresca la lectura autenticada.
- En Comprar usa Try Spend de WalletSafe, Cost 100. Este nodo devuelve si pudo gastar y conserva el saldo si no puede. Para False distingue Out Error = None (saldo insuficiente) de un error numérico/autenticación. No reinstancies WalletSafe ni recrees 1000 en cada clic.
- En el nivel sustituye la instancia Normal por la Safe. Repite las pruebas de la cartera de la lección 3 y pausa en Try Spend para observar los pines.
- Para el fallo numérico añade temporalmente un tercer botón que ejecute Try Divide con Amount cero. Debe devolver False/DivisionByZero y la lectura posterior debe conservar el saldo anterior.
Comprueba tu razonamiento
Ver la explicación
No. Informa del fallo y evita utilizar Out Value como saldo válido.
Ahora prueba tú: Repite las mismas compras en Normal y Safe y localiza qué lecturas debes comprobar.
Puedes continuar cuando: puedes distinguir saldo insuficiente de un error de lectura o de una operación.
Tu progreso se guarda solo en este navegador y se conserva al cambiar de idioma.