Bertahan Hidup
Termasuk bagian Arsitektur Game di Unity dalam perjalanan Unity di Coddy. Pelajaran 47 dari 50.
Tantangan
SedangLangkah terakhir: permainan berakhir, dan permainan terbaik disimpan. Pertahankan semua yang sudah dibuat dalam pelajaran sebelumnya. Canvas memiliki GameOverPanel tersembunyi dengan ResultText, BestText, dan RestartButton berlabel Fight again, dan object GameManager memiliki skrip GameManager, dengan hero, spawner, gameOverPanel, resultText, bestText, dan restartButton yang diatur di Inspector.
Heromendapatkanpublic event Action Died, yang dipicu saat health-nya mencapai 0, setelah Hero menonaktifkan dirinya sendiri.- Di
GameManager.cs, tambahkan classBestRundengan atribut[System.Serializable], sertapublic int wavedanpublic int kills. GameManagermendengarkanDiedmilik hero danEnemy.Died, yang menghitung jumlah kill dalam permainan ini: lakukan subscribe diOnEnabledan unsubscribe diOnDisable. DiStart, GameManager memuat permainan terbaik daribest.jsondiApplication.persistentDataPathdenganJsonUtility, jika file itu ada, menyembunyikan panel, dan mengatur agarrestartButtonmemulai ulang permainan.- Saat hero mati, hentikan permainan (
Time.timeScale0). Hasil permainan adalahWavedari spawner dan jumlah kill. Hasil ini menjadi rekor baru jika mencapai wave yang lebih tinggi, atau wave yang sama dengan jumlah kill lebih banyak: setelah itu, jadikan hasil tersebut sebagai rekor terbaik dan simpan kebest.jsondenganJsonUtility.ToJson. Tampilkan hasil permainan diresultText, sepertiWave 2, 7 kills, dan rekor terbaik dibestText, sepertiBest: wave 3, 12 kills, lalu tampilkan panel. - Mulai ulang dengan mengatur kembali skala waktu ke 1 dan memuat scene lagi.
Tekan Play dan bertarunglah sampai kamu kalah, lalu cobalah mengalahkan rekor terbaikmu. Setelah itu, tekan Check.
Coba sendiri
using UnityEngine;
public class GameManager : MonoBehaviour
{
// Pelajaran selanjutnya akan melengkapi bagian ini: akhir sesi permainan dan sesi permainan terbaik.
}
Semua pelajaran di Arsitektur Game di Unity
1Komponen, Bukan Hierarki
Komponen KecilSkrip Dasar MusuhKomponen AbstrakKomponen yang Bekerja SamaRingkasan: Turret Modular4Data Terserialisasi
Class yang Dapat DiserialisasiList di InspectorEnum di InspectorRingkasan: Tabel Loot10Proyek: Penyintas Arena
Sang PahlawanJenis Musuh5ScriptableObjects
Aset DataStatistik SenjataPengaturan BersamaGelombang sebagai DataUlasan: database Item8Kode yang Dapat Digunakan Kembali
Extension methodSingleton GenerikHelper GenerikUlasan: FindNearest