퀘스트 완료 햅틱 · HOME 행성 반응 · Push·라이브 띠 중복 제어 · 알림함 위계 · Push 탭 화면 이동
This commit is contained in:
@@ -22,7 +22,12 @@ String liveEventMessage(LiveEvent event) => switch (event.kind) {
|
||||
};
|
||||
|
||||
/// 홈 라이브 띠(전광판)에 올릴 한 줄. [hero] 면 띠가 HERO TIME 참여 진입이 된다.
|
||||
typedef TickerLine = ({String text, bool hero});
|
||||
/// [push] 는 같은 사건을 알리는 Push 의 `kind` — 띠가 떠 있으면 앱 안 Push 를 겹쳐 띄우지 않는다(v1.5 §1.1).
|
||||
typedef TickerLine = ({String text, bool hero, String? push});
|
||||
|
||||
/// 지금 화면에 보이는 HOME 라이브 띠의 사건 — `liveTickerKey(kind, fandomId)`. 띠가 그릴 때 적는다.
|
||||
/// ponytail: 전역 하나. HOME 이 띠를 하나만 그리므로 충분하다 — 띠가 여러 곳에 생기면 집합으로.
|
||||
String? liveTickerShowing;
|
||||
|
||||
/// 띠 한 줄 고르기 — 원장 C-78 순서(위기 → 성취)대로 핵심 이벤트가 먼저 오른다.
|
||||
///
|
||||
@@ -48,12 +53,14 @@ TickerLine? tickerLine({
|
||||
return (
|
||||
text: appL10n.eclipseLiveOccurred(eclipse.fandomName),
|
||||
hero: false,
|
||||
push: 'eclipse',
|
||||
);
|
||||
}
|
||||
if (eclipse.canShake(now) && eclipse.defense >= 2) {
|
||||
return (
|
||||
text: appL10n.liveEclipseDefending('${eclipse.defense}'),
|
||||
hero: false,
|
||||
push: 'eclipse',
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -63,8 +70,12 @@ TickerLine? tickerLine({
|
||||
? appL10n.liveHeroTime(fandomName)
|
||||
: appL10n.liveHeroTimeBy(fandomName, heroNicknames.join(' · ')),
|
||||
hero: true,
|
||||
// HERO TIME 발동 알림(영웅의 선물)은 알림함 `item_used` 로 온다.
|
||||
push: 'item_used',
|
||||
);
|
||||
}
|
||||
if (event != null) return (text: liveEventMessage(event), hero: false);
|
||||
return fallback == null ? null : (text: fallback, hero: false);
|
||||
if (event != null) {
|
||||
return (text: liveEventMessage(event), hero: false, push: null);
|
||||
}
|
||||
return fallback == null ? null : (text: fallback, hero: false, push: null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user