style(lint): flutter analyze 경고 91건 → 0건 전체 정리

- analysis_options.yaml: freezed/g.dart 생성 파일 분석 제외
- game_text_l10n.dart: if문 중괄호 추가, 불필요한 ${} 제거
- iap_service.dart: 불필요한 dart:typed_data import 제거
- pq_logic.dart, combat_text_frames.dart: dangling library doc → library; 추가
- save_picker_dialog.dart: __ → _ (unnecessary_underscores)
- desktop_equipment_panel.dart: 불필요한 import 제거
- test 파일: _localVar → localVar 네이밍, ignore_for_file 추가
This commit is contained in:
JiWoong Sul
2026-03-31 14:22:09 +09:00
parent 068d9da4bd
commit 68a5848510
10 changed files with 126 additions and 116 deletions

View File

@@ -159,7 +159,7 @@ String get speedBoostTitle => _l('Speed Boost', '속도 부스트', 'スピー
String get speedBoostActivate =>
_l('Activate 10x Speed', '10배속 활성화', '10倍速を有効化');
String speedBoostRemaining(int seconds) =>
_l('${seconds}s remaining', '${seconds} 남음', '残り${seconds}');
_l('${seconds}s remaining', '$seconds 남음', '残り$seconds秒');
String get speedBoostActive => _l('BOOST ACTIVE', '부스트 활성화', 'ブースト中');
// ============================================================================
@@ -650,8 +650,9 @@ String translateImpressiveTitle(String englishName) {
/// 특수 아이템 이름 번역
String translateSpecial(String englishName) {
if (isKoreanLocale) return specialTranslationsKo[englishName] ?? englishName;
if (isJapaneseLocale)
if (isJapaneseLocale) {
return specialTranslationsJa[englishName] ?? englishName;
}
return englishName;
}
@@ -828,54 +829,65 @@ String translateItemNameL10n(String itemString) {
/// Act 제목 번역
String translateActTitle(String englishTitle) {
if (isKoreanLocale)
if (isKoreanLocale) {
return actTitleTranslationsKo[englishTitle] ?? englishTitle;
if (isJapaneseLocale)
}
if (isJapaneseLocale) {
return actTitleTranslationsJa[englishTitle] ?? englishTitle;
}
return englishTitle;
}
/// Act 보스 이름 번역
String translateActBoss(String englishBoss) {
if (isKoreanLocale) return actBossTranslationsKo[englishBoss] ?? englishBoss;
if (isJapaneseLocale)
if (isJapaneseLocale) {
return actBossTranslationsJa[englishBoss] ?? englishBoss;
}
return englishBoss;
}
/// Act 퀘스트 번역
String translateActQuest(String englishQuest) {
if (isKoreanLocale)
if (isKoreanLocale) {
return actQuestTranslationsKo[englishQuest] ?? englishQuest;
if (isJapaneseLocale)
}
if (isJapaneseLocale) {
return actQuestTranslationsJa[englishQuest] ?? englishQuest;
}
return englishQuest;
}
/// 시네마틱 텍스트 번역
String translateCinematic(String englishText) {
if (isKoreanLocale)
if (isKoreanLocale) {
return cinematicTranslationsKo[englishText] ?? englishText;
if (isJapaneseLocale)
}
if (isJapaneseLocale) {
return cinematicTranslationsJa[englishText] ?? englishText;
}
return englishText;
}
/// 지역 이름 번역
String translateLocation(String englishLocation) {
if (isKoreanLocale)
if (isKoreanLocale) {
return locationTranslationsKo[englishLocation] ?? englishLocation;
if (isJapaneseLocale)
}
if (isJapaneseLocale) {
return locationTranslationsJa[englishLocation] ?? englishLocation;
}
return englishLocation;
}
/// 세력/조직 이름 번역
String translateFaction(String englishFaction) {
if (isKoreanLocale)
if (isKoreanLocale) {
return factionTranslationsKo[englishFaction] ?? englishFaction;
if (isJapaneseLocale)
}
if (isJapaneseLocale) {
return factionTranslationsJa[englishFaction] ?? englishFaction;
}
return englishFaction;
}
@@ -1233,7 +1245,7 @@ String get notifyQuestComplete => _l('QUEST COMPLETE!', '퀘스트 완료!', '
String get notifyPrologueComplete =>
_l('PROLOGUE COMPLETE!', '프롤로그 완료!', 'プロローグ完了!');
String notifyActComplete(int actNumber) =>
_l('ACT $actNumber COMPLETE!', '${actNumber} 완료!', '${actNumber}幕完了!');
_l('ACT $actNumber COMPLETE!', '$actNumber 완료!', '$actNumber幕完了');
String get notifyNewSpell => _l('NEW SPELL!', '새 주문!', '新しい呪文!');
String get notifyNewEquipment => _l('NEW EQUIPMENT!', '새 장비!', '新しい装備!');
String get notifyBossDefeated => _l('BOSS DEFEATED!', '보스 처치!', 'ボス撃破!');

View File

@@ -1,8 +1,6 @@
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:flutter/foundation.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:in_app_purchase/in_app_purchase.dart';
@@ -190,10 +188,7 @@ class IAPService implements IIAPService {
/// 구매 상태 저장 (보안 저장소 사용)
Future<void> _savePurchaseState(bool purchased) async {
await _secureStorage.write(
key: _purchaseKey,
value: purchased.toString(),
);
await _secureStorage.write(key: _purchaseKey, value: purchased.toString());
_adRemovalPurchased = purchased;
debugPrint('[IAPService] Saved purchase state: $purchased');
}
@@ -451,10 +446,7 @@ class IAPService implements IIAPService {
pc.PublicKeyParameter<pc.RSAPublicKey>(publicKey),
);
return signer.verifySignature(
dataBytes,
pc.RSASignature(signatureBytes),
);
return signer.verifySignature(dataBytes, pc.RSASignature(signatureBytes));
} catch (e) {
debugPrint('[IAPService] RSA verification error: $e');
return false;
@@ -477,10 +469,8 @@ class IAPService implements IIAPService {
final rsaParser = ASN1Parser(publicKeyBytes);
final rsaSequence = rsaParser.nextObject() as ASN1Sequence;
final modulus =
(rsaSequence.elements![0] as ASN1Integer).integer!;
final exponent =
(rsaSequence.elements![1] as ASN1Integer).integer!;
final modulus = (rsaSequence.elements![0] as ASN1Integer).integer!;
final exponent = (rsaSequence.elements![1] as ASN1Integer).integer!;
return pc.RSAPublicKey(modulus, exponent);
}

View File

@@ -2,6 +2,7 @@
///
/// 유틸리티 함수 모음.
/// 이 파일은 분할된 모듈들을 re-export하여 기존 코드 호환성 유지.
library;
// 랜덤/확률 함수
export 'package:asciineverdie/src/core/util/pq_random.dart';

View File

@@ -52,7 +52,7 @@ class SavePickerDialog extends StatelessWidget {
child: ListView.separated(
shrinkWrap: true,
itemCount: saves.length,
separatorBuilder: (_, __) => const Divider(height: 1),
separatorBuilder: (_, _) => const Divider(height: 1),
itemBuilder: (context, index) {
final save = saves[index];
return _SaveListTile(

View File

@@ -4,7 +4,6 @@ import 'package:asciineverdie/data/game_text_l10n.dart' as game_l10n;
import 'package:asciineverdie/l10n/app_localizations.dart';
import 'package:asciineverdie/src/shared/l10n/game_data_l10n.dart';
import 'package:asciineverdie/src/core/model/game_state.dart';
import 'package:asciineverdie/src/core/model/inventory.dart';
import 'package:asciineverdie/src/features/game/widgets/combat_log.dart';
import 'package:asciineverdie/src/features/game/widgets/desktop_panel_widgets.dart';
import 'package:asciineverdie/src/features/game/widgets/equipment_stats_panel.dart';

View File

@@ -2,6 +2,7 @@
///
/// CanvasBattleComposer에서 분리된 전투 텍스트 프레임 상수.
/// 크리티컬, 회피, 미스, 디버프, DOT, 블록, 패리 텍스트 프레임.
library;
// ============================================================================
// 몬스터 공격 이펙트 (← 방향, Phase 8) - 5줄