fix(animation): WASM 안정성 및 부활 동기화 개선
- GamePlayScreen에 SchedulerBinding으로 setState 안전 처리 - AsciiAnimationCard에서 재개 시 specialAnimation 동기화 - 부활 시 isPaused와 specialAnimation 동시 변경 대응
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:flutter/foundation.dart'
|
||||
show kIsWeb, defaultTargetPlatform, TargetPlatform;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart' show SchedulerBinding, SchedulerPhase;
|
||||
|
||||
import 'package:askiineverdie/data/game_text_l10n.dart' as game_l10n;
|
||||
import 'package:askiineverdie/data/skill_data.dart';
|
||||
@@ -428,7 +429,18 @@ class _GamePlayScreenState extends State<GamePlayScreen>
|
||||
if (state != null) {
|
||||
_checkSpecialEvents(state);
|
||||
}
|
||||
setState(() {});
|
||||
|
||||
// WASM 안정성: 프레임 빌드 중이면 다음 프레임까지 대기
|
||||
if (SchedulerBinding.instance.schedulerPhase ==
|
||||
SchedulerPhase.persistentCallbacks) {
|
||||
SchedulerBinding.instance.addPostFrameCallback((_) {
|
||||
if (mounted) {
|
||||
setState(() {});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
setState(() {});
|
||||
}
|
||||
}
|
||||
|
||||
/// 캐로셀 레이아웃 사용 여부 판단
|
||||
|
||||
Reference in New Issue
Block a user