Class GameLogger

java.lang.Object
com.mycompany.extractionshootergui.GameLogger

public class GameLogger extends Object
Kelas pencatat log (logger) global dengan pola desain Singleton.

Kelas ini menangkap seluruh pesan aktivitas permainan dan mendistribusikannya ke konsol standar (System.out) serta ke seluruh listener antarmuka pengguna grafis (GUI) yang terdaftar. Dengan pendekatan ini, komponen GUI dan model logika permainan tetap terpisah (decoupled).

Version:
1.0
Author:
UnggulWindows
  • Method Details

    • getInstance

      public static GameLogger getInstance()
      Mengambil satu-satunya instansiasi (instance) dari GameLogger. Jika belum pernah dibuat, instansiasi baru akan dibentuk (lazy initialization).
      Returns:
      instansiasi tunggal GameLogger.
    • addListener

      public void addListener(Consumer<String> listener)
      Mendaftarkan listener baru yang akan dipanggil setiap kali ada pesan log baru.
      Parameters:
      listener - fungsi penerima pesan berupa Consumer bertipe String.
    • removeAllListeners

      public void removeAllListeners()
      Menghapus seluruh listener yang sedang terdaftar pada logger. Berguna saat mereset game atau beralih tampilan layar.
    • log

      public void log(String message)
      Mencatat pesan log baru ke konsol dan menyiarkannya ke seluruh listener yang aktif.
      Parameters:
      message - teks pesan aktivitas permainan yang ingin dicatat.