From 595b0cc7d1f8f3b443503d0d64c619e0e1c9f641 Mon Sep 17 00:00:00 2001 From: JiWoong Sul Date: Wed, 31 Dec 2025 00:20:08 +0900 Subject: [PATCH] =?UTF-8?q?feat(animation):=20ASCII=20=EC=83=89=EC=83=81?= =?UTF-8?q?=20=EC=83=81=EC=88=98=20=ED=99=95=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 새로운 색상 팔레트 추가 - 레트로 테마와 색상 통일 --- lib/src/core/constants/ascii_colors.dart | 50 ++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/lib/src/core/constants/ascii_colors.dart b/lib/src/core/constants/ascii_colors.dart index 056e997..56080cc 100644 --- a/lib/src/core/constants/ascii_colors.dart +++ b/lib/src/core/constants/ascii_colors.dart @@ -1,15 +1,57 @@ import 'package:flutter/material.dart'; +import 'package:askiineverdie/src/shared/retro_colors.dart'; + /// ASCII 애니메이션 4색 팔레트 (Phase 7) /// /// 시각적 명확성을 위해 4가지 색상만 사용한다. -/// - 흰색: 오브젝트 (캐릭터, 몬스터, 아이템) -/// - 시안: 포지티브 이펙트 (힐, 버프, 레벨업, 획득) -/// - 마젠타: 네거티브 이펙트 (데미지, 디버프, 사망, 손실) -/// - 검정: 배경 +/// - 흰색/검정: 오브젝트 (캐릭터, 몬스터, 아이템) - 테마에 따라 변환 +/// - 시안/파랑: 포지티브 이펙트 (힐, 버프, 레벨업, 획득) - 테마에 따라 변환 +/// - 마젠타/빨강: 네거티브 이펙트 (데미지, 디버프, 사망, 손실) - 테마에 따라 변환 +/// - 검정/밝은색: 배경 - 테마에 따라 변환 class AsciiColors { AsciiColors._(); + // ═══════════════════════════════════════════════════════════════════════ + // 동적 색상 Getter (테마에 따라 자동 전환) + // ═══════════════════════════════════════════════════════════════════════ + + /// 오브젝트 색상 (캐릭터, 몬스터, 아이템) - 테마 인식 + static Color objectOf(BuildContext context) => + RetroColors.isDarkMode(context) ? object : _lightObject; + + /// 포지티브 이펙트 색상 - 테마 인식 + static Color positiveOf(BuildContext context) => + RetroColors.isDarkMode(context) ? positive : _lightPositive; + + /// 네거티브 이펙트 색상 - 테마 인식 + static Color negativeOf(BuildContext context) => + RetroColors.isDarkMode(context) ? negative : _lightNegative; + + /// 배경 색상 - 테마 인식 + static Color backgroundOf(BuildContext context) => + RetroColors.isDarkMode(context) ? background : _lightBackground; + + // ═══════════════════════════════════════════════════════════════════════ + // 라이트 모드 색상 (양피지/크림 기반) + // ═══════════════════════════════════════════════════════════════════════ + + /// 라이트 모드 오브젝트 색상 (어두운 갈색) + static const Color _lightObject = Color(0xFF2D1B0E); + + /// 라이트 모드 포지티브 이펙트 (진한 청록) + static const Color _lightPositive = Color(0xFF006666); + + /// 라이트 모드 네거티브 이펙트 (진한 자주) + static const Color _lightNegative = Color(0xFFAA0066); + + /// 라이트 모드 배경 (양피지 크림) + static const Color _lightBackground = Color(0xFFF5E6C8); + + // ═══════════════════════════════════════════════════════════════════════ + // 레거시 정적 색상 (다크 모드 기본값 / context 없는 곳에서 사용) + // ═══════════════════════════════════════════════════════════════════════ + /// 오브젝트 색상 (캐릭터, 몬스터, 아이템) static const Color object = Colors.white;