레벨업 때 행성에 표면 아우라가 떴다 사라짐

This commit is contained in:
Sn-Kinos
2026-10-22 01:25:27 +09:00
parent 6a1f97fbc2
commit 2836f07a71
2 changed files with 31 additions and 19 deletions
+2 -19
View File
@@ -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) =>
+29
View File
@@ -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,