Menu
CoddyTech

Bertahan Hidup

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

challenge icon

Tantangan

Sedang

Langkah 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.

  • Hero mendapatkan public event Action Died, yang dipicu saat health-nya mencapai 0, setelah Hero menonaktifkan dirinya sendiri.
  • Di GameManager.cs, tambahkan class BestRun dengan atribut [System.Serializable], serta public int wave dan public int kills.
  • GameManager mendengarkan Died milik hero dan Enemy.Died, yang menghitung jumlah kill dalam permainan ini: lakukan subscribe di OnEnable dan unsubscribe di OnDisable. Di Start, GameManager memuat permainan terbaik dari best.json di Application.persistentDataPath dengan JsonUtility, jika file itu ada, menyembunyikan panel, dan mengatur agar restartButton memulai ulang permainan.
  • Saat hero mati, hentikan permainan (Time.timeScale 0). Hasil permainan adalah Wave dari 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 ke best.json dengan JsonUtility.ToJson. Tampilkan hasil permainan di resultText, seperti Wave 2, 7 kills, dan rekor terbaik di bestText, seperti Best: 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