Fixed Android issues
This commit is contained in:
@ -88,6 +88,9 @@ Future<void> saveGameState() async {
|
||||
pref.setBool(
|
||||
"rogaining_counted", destinationController.rogainingCounted.value);
|
||||
pref.setBool("ready_for_goal", DestinationController.ready_for_goal);
|
||||
|
||||
// 最後のゲーム日時を保存
|
||||
pref.setString('lastGameDate', DateTime.now().toIso8601String());
|
||||
}
|
||||
|
||||
|
||||
@ -108,6 +111,20 @@ Future<void> restoreGame() async {
|
||||
if (indexController.currentUser.isNotEmpty &&
|
||||
indexController.currentUser[0]["user"]["id"] == savedUserId) {
|
||||
|
||||
// 最後のゲーム日時を取得
|
||||
final lastGameDateString = pref.getString('lastGameDate');
|
||||
if (lastGameDateString != null) {
|
||||
final lastGameDate = DateTime.parse(lastGameDateString);
|
||||
final now = DateTime.now();
|
||||
|
||||
// 最後のゲームが昨日以前の場合
|
||||
if (lastGameDate.isBefore(DateTime(now.year, now.month, now.day))) {
|
||||
// ゲームの状態をクリア
|
||||
await resetGameState();
|
||||
return; // ここで関数を終了
|
||||
}
|
||||
}
|
||||
|
||||
final dateString = pref.getString('eventDate');
|
||||
if (dateString != null) {
|
||||
final parsedDate = DateTime.parse(dateString);
|
||||
@ -143,6 +160,24 @@ Future<void> restoreGame() async {
|
||||
}
|
||||
}
|
||||
|
||||
// ゲームの状態をリセットする関数
|
||||
Future<void> resetGameState() async {
|
||||
SharedPreferences pref = await SharedPreferences.getInstance();
|
||||
await pref.remove("is_in_rog");
|
||||
await pref.remove("rogaining_counted");
|
||||
await pref.remove("ready_for_goal");
|
||||
|
||||
DestinationController destinationController = Get.find<DestinationController>();
|
||||
destinationController.isInRog.value = false;
|
||||
destinationController.rogainingCounted.value = false;
|
||||
DestinationController.ready_for_goal = false;
|
||||
|
||||
// チェックポイントをクリア
|
||||
destinationController.deleteDBDestinations();
|
||||
|
||||
debugPrint("Game state has been reset due to outdated last game date");
|
||||
}
|
||||
|
||||
/*
|
||||
void restoreGame_new() async {
|
||||
SharedPreferences pref = await SharedPreferences.getInstance();
|
||||
|
||||
Reference in New Issue
Block a user