Sobrevive
Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 59 de 64.
Desafío
IntermedioTermina la partida cuando caiga el héroe.
Herogenera un nuevopublic event Action Dieddespués de desactivarse.GameManager.OnEnablecuenta las bajas conEnemy.Diedy activa el fin de la partida cuando se producehero.Died;OnDisablecancela la suscripción.StartocultagameOverPanel.- El fin de la partida establece
Time.timeScaleen 0 y muestra el panel, conresultTextmostrandoWave 2, 7 kills.restartButtonlo establece en 1 y vuelve a cargar la escena.
Pulsa «Jugar» y lucha hasta caer. Después, pulsa «Comprobar».
Pruébalo tú mismo
using System.IO;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using TMPro;
public class GameManager : MonoBehaviour
{
[SerializeField] private Hero hero;
[SerializeField] private WaveSpawner spawner;
[SerializeField] private GameObject gameOverPanel;
[SerializeField] private TMP_Text resultText;
[SerializeField] private TMP_Text bestText;
[SerializeField] private Button restartButton;
// Una lección posterior completará esto: el final de la partida y la mejor partida.
}
Todas las lecciones de Arquitectura de juegos en Unity
1Componentes, no jerarquías
Componentes pequeñosUn script base para enemigosComponentes abstractosComponentes que trabajan juntosRepaso: torreta modularRepaso: cañón doble4Datos serializados
Clases serializablesListas en el InspectorEnumeraciones en el InspectorRepaso: tabla de botínRepaso: sortear el botín7Máquinas de estados
Estados como clasesEl estado de alertaUna máquina de estadosTransicionesCerebros enemigosEl caballero atacaRepaso: estados de puertas10Proyecto: Superviviente de la arena
El héroeTipos de enemigos2Interfaces en Unity
IDamageableInterfaces y TryGetComponentGetComponentsRepaso: Tecla de interacciónRepaso: El más cercano al alcance5ScriptableObjects
Activos de datosEstadísticas de armasConfiguración compartidaGuardar el vientoOleadas como datosRepaso: base de datos de objetosRepaso: comprar en la tienda3Eventos
Eventos de C# en UnitySuscribirse en OnEnableCampos UnityEventLos eventos controlan la interfazRepaso: ventana emergente de logrosRepaso: temporizador de la ventana emergentePractica por tu cuenta: Playground de Unity