feat(phase7): 고정 4색 팔레트 시스템 적용

- ascii_colors.dart 생성
  - 흰색(object): 캐릭터, 몬스터, 아이템
  - 시안(positive): 힐, 버프, 레벨업, 획득
  - 마젠타(negative): 데미지, 디버프, 사망, 손실
  - 검정(background): 배경

- 테마 선택 기능 제거
  - AsciiAnimationCard: colorTheme 파라미터 제거, 고정 색상 사용
  - TaskProgressPanel: 테마 버튼 제거
  - GamePlayScreen: 테마 관련 상태/메서드 제거

- 이펙트 색상 시스템 업데이트
  - '*' (히트) → 마젠타
  - '!' '+' (강조/버프) → 시안
  - '~' (디버프) → 마젠타
This commit is contained in:
JiWoong Sul
2025-12-17 17:54:07 +09:00
parent 97d9875e00
commit a6ba3d5d2e
4 changed files with 103 additions and 90 deletions

View File

@@ -0,0 +1,81 @@
import 'package:flutter/material.dart';
/// ASCII 애니메이션 4색 팔레트 (Phase 7)
///
/// 시각적 명확성을 위해 4가지 색상만 사용한다.
/// - 흰색: 오브젝트 (캐릭터, 몬스터, 아이템)
/// - 시안: 포지티브 이펙트 (힐, 버프, 레벨업, 획득)
/// - 마젠타: 네거티브 이펙트 (데미지, 디버프, 사망, 손실)
/// - 검정: 배경
class AsciiColors {
AsciiColors._();
/// 오브젝트 색상 (캐릭터, 몬스터, 아이템)
static const Color object = Colors.white;
/// 포지티브 이펙트 색상 (힐, 버프, 레벨업, 획득)
static const Color positive = Colors.cyan;
/// 네거티브 이펙트 색상 (데미지, 디버프, 사망, 손실)
static const Color negative = Color(0xFFFF00FF); // 마젠타
/// 배경 색상
static const Color background = Colors.black;
/// 상황에 따른 색상 반환
static Color forContext(AsciiColorContext context) {
return switch (context) {
AsciiColorContext.idle => object,
AsciiColorContext.attack => object,
AsciiColorContext.critical => negative,
AsciiColorContext.heal => positive,
AsciiColorContext.buff => positive,
AsciiColorContext.debuff => negative,
AsciiColorContext.levelUp => positive,
AsciiColorContext.death => negative,
AsciiColorContext.itemGain => positive,
AsciiColorContext.itemLoss => negative,
AsciiColorContext.dodge => object,
AsciiColorContext.block => object,
};
}
}
/// ASCII 애니메이션 색상 컨텍스트
enum AsciiColorContext {
/// 대기 상태
idle,
/// 일반 공격
attack,
/// 크리티컬 히트
critical,
/// 회복
heal,
/// 버프 획득
buff,
/// 디버프 적용
debuff,
/// 레벨업
levelUp,
/// 사망
death,
/// 아이템 획득
itemGain,
/// 아이템 손실
itemLoss,
/// 회피 성공
dodge,
/// 방패 방어
block,
}