UX·FX v1.5 — 햅틱 단계 · 라이브 띠 · HERO 전광판 · Push 우선순위 · Shield · 이클립스 성공·실패 연출
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
/// UX·FX 정렬 기준 v1.5 §1 공통 강도 5단계 — 기능마다 햅틱을 따로 고르지 않게 한 곳에 둔다.
|
||||
///
|
||||
/// | 강도 | 대표 상황(원문) | 햅틱 원칙(원문) |
|
||||
/// |---|---|---|
|
||||
/// | Micro | 출석 · 좋아요 등 경량 행동 | Light 1회 또는 생략 |
|
||||
/// | Small | 일반 ZAP · 일반 Quest | Light |
|
||||
/// | Medium | Music/Location Quest 완료 · Level Up | Medium |
|
||||
/// | Large | Campaign 주요 기여 · Eclipse 공동 방어 | Medium~Strong, 반복 억제 |
|
||||
/// | Legendary | Planet Evolution · Campaign 100% · HERO GIFT | Strong 1회 + 필요 시 짧은 패턴 |
|
||||
///
|
||||
/// Large 는 원문이 「Medium~Strong」 범위라 Medium 과 구분되도록 Strong 을 쓴다(해석 확인 항목).
|
||||
/// Legendary 의 「짧은 패턴」은 원문에 길이 · 횟수가 없어 Strong 1회만 낸다(해석 확인 항목).
|
||||
enum FxIntensity { micro, small, medium, large, legendary }
|
||||
|
||||
/// 강도에 맞는 햅틱 한 번.
|
||||
Future<void> fxHaptic(FxIntensity level) => switch (level) {
|
||||
FxIntensity.micro || FxIntensity.small => HapticFeedback.lightImpact(),
|
||||
FxIntensity.medium => HapticFeedback.mediumImpact(),
|
||||
FxIntensity.large || FxIntensity.legendary => HapticFeedback.heavyImpact(),
|
||||
};
|
||||
Reference in New Issue
Block a user