Menu
CoddyTech

Повторение: FindNearest

Часть раздела Архитектура игр в Unity путешествия по Unity на Coddy. Урок 45 из 64.

В этой главе написан код, который работает с любым типом: методы расширения, обобщённый базовый класс и обобщённые вспомогательные функции. Здесь один обобщённый поиск находит и драгоценные камни, и зарядные площадки.

challenge icon

Задание

Средне

Отправь робота к драгоценным камням, сначала к ближайшему, а затем на зарядку.

  1. В Helpers.cs напиши статический класс Helpers с публичным методом FindNearest<T>(IEnumerable<T> items, Vector3 from) для компонентов: он должен возвращать ближайший объект или null.
  2. В классе Robot каждый кадр перемещай робота к ближайшему Gem с помощью MoveTo и уничтожай его по прибытии.
  3. Когда драгоценных камней не останется, отправь робота к ближайшей ChargePad, один раз выведи в журнал Charging и оставь его там.

Нажми «Играть»: робот соберёт драгоценные камни. Затем нажми «Проверить».

Попробуйте сами

using System.Collections.Generic;
using UnityEngine;

// Helpers.FindNearest<T>: элемент, ближайший к точке, или null
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Архитектура игр в Unity

Потренируйтесь самостоятельно: Песочница Unity