Spaces:
Sleeping
Sleeping
| import { Room, GamePhase } from '../types'; | |
| export interface IGameEngine { | |
| // Dipanggil saat tombol "Start Game" ditekan | |
| onStart(room: Room): void; | |
| // Dipanggil setiap detik oleh Global Ticker | |
| onTick(room: Room): void; | |
| // Dipanggil saat timer habis atau fase harus berubah | |
| onNextPhase(room: Room): void; | |
| // Menangani aksi pemain (Kill, Vote, Draw, dll) | |
| handleAction(room: Room, actorId: string, action: string, payload: any): void; | |
| // Mendapatkan durasi default untuk setiap fase game | |
| getPhaseDuration(phase: GamePhase): number; | |
| } |