Files
front-hokm/lib/feature/game/presentation/bloc/game_event.dart
T

50 lines
1.3 KiB
Dart

import '../../../../core/network/ws_client.dart';
abstract class GameEvent {}
/// شروع اتصال با اقدامِ ورود (join_queue / create_table / join_table).
class ConnectGameEvent extends GameEvent {
final Map<String, dynamic> joinAction;
ConnectGameEvent(this.joinAction);
}
/// پیام دریافتی از سرور (داخلی).
class GameMessageReceived extends GameEvent {
final Map<String, dynamic> message;
GameMessageReceived(this.message);
}
/// تغییر وضعیت اتصال (داخلی).
class GameStatusChanged extends GameEvent {
final WsStatus status;
GameStatusChanged(this.status);
}
class ChooseTrumpEvent extends GameEvent {
final String suit;
ChooseTrumpEvent(this.suit);
}
class PlayCardEvent extends GameEvent {
final String card;
PlayCardEvent(this.card);
}
class ReshuffleEvent extends GameEvent {} // بُرِ مجدد با مصرفِ یک بلیت
class LeaveGameEvent extends GameEvent {}
class StartTableEvent extends GameEvent {
final int hands; // تعداد دستِ انتخابی (۳/۵/۷)
StartTableEvent(this.hands);
}
class RotateTableEvent extends GameEvent {
final int dir; // +۱/−۱ جهتِ چرخشِ جایگاه‌ها
RotateTableEvent(this.dir);
}
class LeaveTableEvent extends GameEvent {}
class ClearNoticeEvent extends GameEvent {}