refactor(model): game_state.dart 분할 (SRP 개선)
- Stats, Traits, Inventory, Equipment 등 11개 파일로 분리 - 단일 책임 원칙 적용으로 유지보수성 향상
This commit is contained in:
37
lib/src/core/model/queue_state.dart
Normal file
37
lib/src/core/model/queue_state.dart
Normal file
@@ -0,0 +1,37 @@
|
||||
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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user