코드 주석을 이 저장소 기준으로 정리
This commit is contained in:
@@ -76,7 +76,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
/// 방금 끝낸 Music Shake 판의 판정 합계 — 결과 화면 · 결과 카드에 쓴다.
|
||||
Map<String, int>? _shakeResult;
|
||||
|
||||
/// 진행 세션(원장 C-83) — 서버에서 읽은 값을 이 화면에서 멈추면 바로 갈아 끼운다(「이어하기」 시작점).
|
||||
/// 진행 세션(정책 원장 C-83) — 서버에서 읽은 값을 이 화면에서 멈추면 바로 갈아 끼운다(「이어하기」 시작점).
|
||||
QuestSession? _session;
|
||||
|
||||
/// [QuestDetailScreen.autoAct] 를 한 번만 쓴다.
|
||||
@@ -125,7 +125,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
}
|
||||
}
|
||||
|
||||
/// 진행 세션을 서버에 남긴다(원장 C-83). 실패해도 이 화면의 진행은 계속된다 — 표시용 상태다.
|
||||
/// 진행 세션을 서버에 남긴다(정책 원장 C-83). 실패해도 이 화면의 진행은 계속된다 — 표시용 상태다.
|
||||
Future<void> _persist(
|
||||
String questId,
|
||||
QuestStage next, [
|
||||
@@ -267,7 +267,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
value:
|
||||
'${formatPop(_live ?? card.progress)} / ${formatPop(card.goal)}',
|
||||
),
|
||||
// 일시 정지 — 멈춘 시점의 진행값을 그대로 둔다(원장 C-83 · 해석 확인 요청서 Q-OB-01 A 5절).
|
||||
// 일시 정지 — 멈춘 시점의 진행값을 그대로 둔다(정책 원장 C-83 · 해석 확인 요청서 Q-OB-01 A 5절).
|
||||
if (stage == QuestStage.paused && _session != null) ...[
|
||||
const SizedBox(height: 8),
|
||||
_Row(
|
||||
@@ -306,7 +306,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
],
|
||||
// 인증 방법 — PRD-05 MVP 수용 기준 「장소 상세에서 인증 방법 · 보상 · 참여 현황 확인」 · 원장 C-03.
|
||||
// 인증 방법 — PRD-05 MVP 수용 기준 「장소 상세에서 인증 방법 · 보상 · 참여 현황 확인」 · 정책 원장 C-03.
|
||||
if (card.type == QuestType.place) ...[
|
||||
_Row(
|
||||
label: context.l10n.questVerifyMethods,
|
||||
@@ -841,7 +841,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
}
|
||||
|
||||
/// Music Shake 한 판 — 공식 영상을 보며 흔드는 진행 화면을 띄운다(PRD-04).
|
||||
/// 끝까지 했으면 판정표를 남기고 「보상받기」로, 중간에 나왔으면 **일시 정지**로 둔다(원장 C-83).
|
||||
/// 끝까지 했으면 판정표를 남기고 「보상받기」로, 중간에 나왔으면 **일시 정지**로 둔다(정책 원장 C-83).
|
||||
/// [resume] 이 있으면 멈춘 판정 · 영상 시각부터 잇는다(「이어하기」).
|
||||
Future<void> _playShake(QuestDetail detail, {QuestSession? resume}) async {
|
||||
final MusicShakeSetup setup;
|
||||
@@ -937,7 +937,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
_stage = QuestStage.completed;
|
||||
}
|
||||
});
|
||||
// 진행완료를 남긴다 — 목록 「보상받기」 · 진행중 탭이 다시 읽어도 같게(원장 C-83).
|
||||
// 진행완료를 남긴다 — 목록 「보상받기」 · 진행중 탭이 다시 읽어도 같게(정책 원장 C-83).
|
||||
if (reached) {
|
||||
unawaited(
|
||||
_persist(
|
||||
@@ -1087,7 +1087,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
return;
|
||||
}
|
||||
|
||||
// 기본 보상은 이미 원장에 있다. 광고는 그 위의 선택적 증분이다(원장 B-03 · C-122) —
|
||||
// 기본 보상은 이미 원장에 있다. 광고는 그 위의 선택적 증분이다(정책 원장 B-03 · C-122) —
|
||||
// 광고가 실패해도 기본 보상은 그대로다.
|
||||
// 일 한도를 다 쓴 사람에게는 모달을 띄우지 않는다(별첨 1 ⑥ 「일일 한도 도달 시 노출 제한」) —
|
||||
// 띄우면 광고를 끝까지 보고도 증분 0 이다.
|
||||
@@ -1142,7 +1142,7 @@ class _QuestDetailScreenState extends State<QuestDetailScreen> {
|
||||
/// 광고 시청 전 대기(`494:14332`)를 띄운 채 광고를 불러와 보여 준다.
|
||||
///
|
||||
/// 끝까지 봤으면 노출 ID, 아니면 null 이다. 불러오지 못했거나 중간에 닫았으면
|
||||
/// 그 사실을 알리고 **기본 보상으로 넘어간다**(원장 B-03 — 실패 시 기본 보상 지급 ·
|
||||
/// 그 사실을 알리고 **기본 보상으로 넘어간다**(정책 원장 B-03 — 실패 시 기본 보상 지급 ·
|
||||
/// 횟수 미차감). 대기 중 「건너뛰기」를 누르면 늦게 온 광고는 띄우지 않고 버린다.
|
||||
/// 이번 보상에서 광고가 실제로 화면에 떴는가 — skip 으로 닫았을 때도 시청 후 애니메이션을 거친다.
|
||||
bool _adShown = false;
|
||||
|
||||
Reference in New Issue
Block a user