Files
asciinevrdie/lib/src/core/model/queue_state.dart
JiWoong Sul e516076ce8 refactor(model): game_state.dart 분할 (SRP 개선)
- Stats, Traits, Inventory, Equipment 등 11개 파일로 분리
- 단일 책임 원칙 적용으로 유지보수성 향상
2026-01-21 17:33:30 +09:00

38 lines
920 B
Dart

import 'dart:collection';
import 'package:asciineverdie/src/core/model/task_info.dart';
/// 큐 종류 (Queue Kind)
enum QueueKind { task, plot }
/// 큐 엔트리 (Queue Entry)
class QueueEntry {
const QueueEntry({
required this.kind,
required this.durationMillis,
required this.caption,
this.taskType = TaskType.neutral,
});
final QueueKind kind;
final int durationMillis;
final String caption;
final TaskType taskType;
}
/// 큐 상태 (Queue State)
///
/// 대기 중인 태스크/플롯 이벤트 큐를 관리
class QueueState {
QueueState({Iterable<QueueEntry>? entries})
: entries = Queue<QueueEntry>.from(entries ?? const []);
final Queue<QueueEntry> entries;
factory QueueState.empty() => QueueState(entries: const []);
QueueState copyWith({Iterable<QueueEntry>? entries}) {
return QueueState(entries: Queue<QueueEntry>.from(entries ?? this.entries));
}
}