Menu
CoddyTech

Ulasan: FindNearest

Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 36 dari 50.

challenge icon

Tantangan

Sedang

Robot pembersih mengumpulkan permata, lalu pergi mengisi daya. Gem dan ChargePad adalah skrip penanda kosong (siap digunakan), dan robot memiliki MoveTo(point), yang menggerakkannya menuju suatu titik dengan kecepatan speed dan mengembalikan true setelah robot sampai di sana.

  • Di Helpers.cs, tulis class statis Helpers dengan method generik FindNearest<T>(IEnumerable<T> items, Vector3 from) untuk tipe komponen apa pun. Method ini mengembalikan item yang posisinya paling dekat dengan from, atau null jika tidak ada item.
  • Di Robot.cs, setiap frame robot menuju gem terdekat di scene, dari posisinya saat ini, lalu menghancurkan gem saat sampai di sana.
  • Jika tidak ada gem tersisa, robot menuju ChargePad terdekat. Saat tiba, robot mencatat Charging satu kali dan tetap di sana.

Gunakan FindNearest untuk gem dan pad. Tekan Play, amati robot, lalu tekan Check.

Coba sendiri

using System.Collections.Generic;
using UnityEngine;

// Helpers.FindNearest<T>: item yang paling dekat dengan suatu titik, atau null

Semua pelajaran di Arsitektur Game di Unity