Rückblick: Achievement-Popup
Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 14 von 50.
Aufgabe
EinfachIm Hof liegen Münzen herum, und die Pfeile steuern den Player (Player.cs, fertig). Gib dem Spiel Errungenschaften, die auf dem Bildschirm eingeblendet werden. Schreibe drei Skripte; die Szene verknüpft ihre Felder bereits und verbindet die Liste On Unlocked (String) von Achievements mit AchievementPopup.Show auf dem HUD.
Collector(am Player) sammelt jedes Objekt auf, das mitCoingetaggt ist und es berührt, entfernt es und gibt die neue Gesamtzahl über ein öffentliches C#-EreignisOnCoinsChangedbekannt, das einen int übergibt. Es weiß nichts über Errungenschaften.Achievementshört auf seinencollector, solange es aktiv ist, und nur dann. Bei 1 Münze schaltet esFirst Coinfrei, bei 3Pocket Moneyund bei 6Coin Hoarder. Bei jeder Freischaltung wird sein UnityEvent-FeldonUnlockedaufgerufen, das den Titel (einen String) übergibt.AchievementPopup.Show(string title)zeigtpanelan, wobeititleTextUnlocked: First Coinanzeigt, und blendet esshowTime(2) Sekunden später aus. Wird Show aufgerufen, während das Panel angezeigt wird, erscheint der neue Titel und die 2 Sekunden beginnen von vorn.
Drücke Play, sammle alle sechs Münzen und klicke dann auf Check.
Probier es selbst
using UnityEngine;
public class Achievements : MonoBehaviour
{
public Collector collector;
}
Alle Lektionen in Spielarchitektur in Unity
1Komponenten statt Hierarchien
Kleine KomponentenEin Basisskript für GegnerAbstrakte KomponentenKomponenten im ZusammenspielRückblick: Modularer Geschützturm4Serialisierte Daten
Serialisierbare KlassenListen im InspectorEnums im InspectorRückblick: Loot-Tabelle7Zustandsautomaten
Zustände als KlassenEin ZustandsautomatÜbergängeGegner-KIWiederholung: Türzustände10Projekt: Arena-Überlebenskampf
Der HeldGegnertypen2Interfaces in Unity
IDamageableInterfaces und TryGetComponentGetComponentsRückblick: Interaktionstaste5ScriptableObjects
Daten-AssetsWaffenwerteGemeinsame EinstellungenWellen als DatenRückblick: Item-Datenbank8Wiederverwendbarer Code
ErweiterungsmethodenEin generisches SingletonGenerische HilfsmethodenRückblick: FindNearest3Ereignisse
C#-Events in UnityIn OnEnable abonnierenUnityEvent-FelderEvents steuern die UIRückblick: Achievement-Popup