Füge allem Schaden zu
Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 52 von 64.
Aufgabe
MittelLass das Schwert allem, was verletzt werden kann, durch eine Schnittstelle Schaden zufügen.
- Definiere in
IDamageable.csvoid TakeDamage(int amount);. EnemyimplementiertIDamageable:TakeDamageziehtamountvonhealthab und zerstört den Gegner bei 0 oder darunter.- Ersetze in
Hero.Swing()die Tag-Prüfung undDestroydurchhit.TryGetComponent(out IDamageable target)undtarget.TakeDamage(swingDamage);.
Drücke auf „Spielen“ und schwinge das Schwert gegen einen Grunt: Er braucht zwei Treffer. Drücke dann auf „Prüfen“.
Probier es selbst
// In einer späteren Lektion wird dies ergänzt: alles, was Schaden nehmen kann.
public interface IDamageable
{
}
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ürfeln7Zustandsautomaten
Zustände als KlassenDer AlarmzustandEin ZustandsautomatÜbergängeGegner-KIDer Ritter greift anRückblick: Türzustände10Projekt: Überleben in der Arena
Der HeldGegnertypen2Schnittstellen 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