Rückblick: FindNearest
Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 45 von 64.
In diesem Kapitel wurde Code geschrieben, der für jeden Typ funktioniert: Erweiterungsmethoden, eine generische Basisklasse und generische Hilfsfunktionen. Hier findet eine generische Suche sowohl die Edelsteine als auch die Ladestationen.
Aufgabe
MittelSchicke den Roboter zuerst zu den nächstgelegenen Edelsteinen und danach zum Aufladen.
- Schreibe in
Helpers.csdie statische KlasseHelpersmit der öffentlichen MethodeFindNearest<T>(IEnumerable<T> items, Vector3 from)für Komponenten: Sie gibt das nächstgelegene Element odernullzurück. - Lass den Roboter in
Robotin jedem Frame das nächstgelegeneGemmitMoveToansteuern und es bei der Ankunft zerstören. - Wenn keine Edelsteine mehr übrig sind, gehe zum nächstgelegenen
ChargePad, gib einmalChargingaus und bleib dort.
Drücke „Spielen“: Der Roboter sammelt die Edelsteine ein. Drücke dann „Prüfen“.
Probier es selbst
using System.Collections.Generic;
using UnityEngine;
// Helpers.FindNearest<T>: das einem Punkt nächstgelegene Element oder null
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Spielarchitektur in Unity
1Komponenten statt Hierarchien
Kleine KomponentenEin Basis-GegnerskriptAbstrakte KomponentenZusammenwirkende KomponentenRückblick: Modulares GeschützRückblick: Zwillingskanone4Serialisierte Daten
Serialisierbare KlassenListen im InspectorEnums im InspectorRückblick: Loot-TabelleRückblick: Beute auswürfeln2Schnittstellen in Unity
IDamageableSchnittstellen und TryGetComponentGetComponentsZusammenfassung: InteraktionstasteZusammenfassung: Nächstes in Reichweite5ScriptableObjects
Daten-AssetsWaffenwerteGemeinsame EinstellungenDen Wind speichernWellen als DatenRückblick: Item-DatenbankRückblick: Im Shop einkaufen8Wiederverwendbarer Code
ErweiterungsmethodenEin generisches SingletonGenerische HilfsmethodenRückblick: FindNearestÜbe selbstständig: Unity-Playground