This commit is contained in:
2025-11-21 17:58:56 +09:00
parent e2bff7279a
commit dbf70e01f2
158 changed files with 6687 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
// lib/game/base_game.dart
import 'package:flutter/material.dart';
/// 모든 미니게임의 부모 클래스
abstract class BaseGame {
/// 게임 고유 ID (예: 'quiz', 'bomb') - 패킷 라우팅용
String get id;
/// 게임 이름 (로비 표시용)
String get name;
/// 게임 설명
String get description;
/// [Host] 방장이 보는 게임 화면 빌드
Widget buildHostView(BuildContext context);
/// [Guest] 참가자가 보는 게임 화면 빌드
Widget buildGuestView(BuildContext context);
/// 게임이 시작될 때 초기화 로직 (변수 초기화 등)
void onStart();
/// 네트워크 메시지 수신 처리
/// [senderId]: 보낸 사람 ID
/// [payload]: 수신된 데이터 (JSON)
void onMessageReceived(String senderId, Map<String, dynamic> payload);
/// 게임 종료 및 메모리 정리
void onDispose();
}