Menu
CoddyTech

Repaso: FindNearest

Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 36 de 50.

challenge icon

Desafío

Intermedio

Un robot de limpieza recoge gemas y después va a cargar. Gem y ChargePad son scripts marcadores vacíos (listos), y el robot tiene MoveTo(point), que lo desplaza hacia un punto a speed y devuelve true cuando llega.

  • En Helpers.cs, escribe una clase estática Helpers con un método genérico FindNearest<T>(IEnumerable<T> items, Vector3 from) para cualquier tipo de componente. Devuelve el elemento cuya posición está más cerca de from, o null cuando no hay elementos.
  • En Robot.cs, en cada fotograma el robot se dirige a la gema más cercana de la escena desde donde se encuentra y destruye la gema cuando llega.
  • Cuando ya no quedan gemas, el robot se dirige al ChargePad más cercano. Al llegar, registra Charging una vez y se queda allí.

Usa FindNearest tanto para las gemas como para las plataformas. Pulsa Play, observa al robot y después pulsa Check.

Pruébalo tú mismo

using System.Collections.Generic;
using UnityEngine;

// Helpers.FindNearest<T>: el elemento más cercano a un punto, o null

Todas las lecciones de Arquitectura de juegos en Unity