From 2836f07a712a70b78d8fb52c5585d29c36a455d1 Mon Sep 17 00:00:00 2001 From: Sn-Kinos Date: Wed, 21 Oct 2026 12:04:00 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A0=88=EB=B2=A8=EC=97=85=20=EB=95=8C=20?= =?UTF-8?q?=ED=96=89=EC=84=B1=EC=97=90=20=ED=91=9C=EB=A9=B4=20=EC=95=84?= =?UTF-8?q?=EC=9A=B0=EB=9D=BC=EA=B0=80=20=EB=96=B4=EB=8B=A4=20=EC=82=AC?= =?UTF-8?q?=EB=9D=BC=EC=A7=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/lib/core/ui/planet_25d.dart | 21 ++----------------- app/lib/core/ui/planet_evolution.dart | 29 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/app/lib/core/ui/planet_25d.dart b/app/lib/core/ui/planet_25d.dart index c74e4fd..9015426 100644 --- a/app/lib/core/ui/planet_25d.dart +++ b/app/lib/core/ui/planet_25d.dart @@ -970,25 +970,8 @@ class _SustainedAura extends CustomPainter { final Color color; final bool lowEffects; @override - void paint(Canvas canvas, Size size) { - final c = size.center(Offset.zero); - final r = size.shortestSide * 0.82; - canvas.drawCircle( - c, - r, - Paint() - ..shader = RadialGradient( - colors: [ - Colors.transparent, - Colors.transparent, - const Color(0xFFC1B9FF).withValues(alpha: lowEffects ? 0.19 : 0.3), - color.withValues(alpha: lowEffects ? 0.1 : 0.17), - Colors.transparent, - ], - stops: const [0, 0.50, 0.62, 0.76, 1], - ).createShader(Rect.fromCircle(center: c, radius: r)), - ); - } + void paint(Canvas canvas, Size size) => + paintSurfaceAura(canvas, size, color, lowEffects: lowEffects); @override bool shouldRepaint(_SustainedAura old) => diff --git a/app/lib/core/ui/planet_evolution.dart b/app/lib/core/ui/planet_evolution.dart index 44c3acc..b5fc183 100644 --- a/app/lib/core/ui/planet_evolution.dart +++ b/app/lib/core/ui/planet_evolution.dart @@ -346,6 +346,8 @@ class _EvolutionPainter extends CustomPainter { const color = AppColors.cosmicAccent; final p = progress; if (!evolution) { + // Figma `2024:20758` 「lv up 시 : 행성에 표면 아우라 발생」 — 진화 5% 전과 같은 표면 아우라가 떴다 사라진다. + paintSurfaceAura(canvas, size, color, lowEffects: lowEffects, opacity: 1 - p); canvas.drawCircle( c, radius * (1 + p * 0.5), @@ -482,6 +484,33 @@ class _HeroPainter extends CustomPainter { /// Orbit Burst — 기울어진 궤도 고리가 바깥으로 퍼지고 입자가 흩어진다. [burst] 0 → 1. /// HERO 발동의 Ring Wave 와 이클립스 성공(v1.5 §5 「짧은 Orbit Burst」)이 같이 쓴다. +/// 구면에 붙은 표면 아우라 — Stage 6 지속 아우라 · 진화 5% 전 · Level Up 이 같이 쓴다. +void paintSurfaceAura( + Canvas canvas, + Size size, + Color color, { + required bool lowEffects, + double opacity = 1, +}) { + final c = size.center(Offset.zero); + final r = size.shortestSide * 0.82; + canvas.drawCircle( + c, + r, + Paint() + ..shader = RadialGradient( + colors: [ + Colors.transparent, + Colors.transparent, + const Color(0xFFC1B9FF).withValues(alpha: (lowEffects ? 0.19 : 0.3) * opacity), + color.withValues(alpha: (lowEffects ? 0.1 : 0.17) * opacity), + Colors.transparent, + ], + stops: const [0, 0.50, 0.62, 0.76, 1], + ).createShader(Rect.fromCircle(center: c, radius: r)), + ); +} + void paintOrbitBurst( Canvas canvas, Size size,