public static void CloudLoad() { BalloonLogManager.Add(BalloonLogEntry.Type.GameCloudLoadBegin, 0, 0); if (instance.CheckLoadSavePrecondition(TextHelper.GetText("platform_loading"), PlatformSaveUtil.StartLoginAndLoad, PlatformSaveUtil.CancelStartLoginForLoad) == false) { return; } instance.GetCloudLastSavedMetadataAsync(cloudMetadata => { ProgressMessage.instance.Close(); SushiDebug.LogFormat("prevAccountLevel = {0}", cloudMetadata.level); SushiDebug.LogFormat("prevAccountLevelExp = {0}", cloudMetadata.levelExp); SushiDebug.LogFormat("prevAccountGem = {0}", cloudMetadata.gem); SushiDebug.LogFormat("prevAccountRiceRate = {0}", cloudMetadata.riceRate); SushiDebug.LogFormat("prevSaveDate = {0}", cloudMetadata.saveDate); if (cloudMetadata.level >= 0 && cloudMetadata.levelExp >= 0 && cloudMetadata.saveDate >= 0) { var overwriteConfirmMsg = TextHelper.GetText("platform_load_confirm_popup", /* {0} */ 0, /* {1} */ cloudMetadata.levelExp.Postfixed(), /* {2} */ cloudMetadata.gem >= 0 ? cloudMetadata.gem.Postfixed() : "???", /* {3} */ cloudMetadata.riceRate >= 0 ? cloudMetadata.riceRate.Postfixed() : "???", /* {4} */ new DateTime(cloudMetadata.saveDate), /* {5} */ 0, /* {6} */ 0, /* {7} */ 0, /* {8} */ 0, /* {9} */ DateTime.Now); ConfirmPopup.instance.OpenYesNoPopup(overwriteConfirmMsg, () => { // 로드하려는 데이터가 현재 플레이하는 것보다 진행이 "덜" 된 것인가? // 경고 한번 더 보여줘야 한다. var rollback = cloudMetadata.level < ResourceManager.instance.accountLevel || cloudMetadata.levelExp < ResourceManager.instance.accountLevelExp || cloudMetadata.gem < ResourceManager.instance.accountGem || cloudMetadata.riceRate < ResourceManager.instance.accountRiceRate; if (rollback) { var msgAgain = TextHelper.GetText("platform_load_confirm_popup_rollback_alert") + "\n\n" + overwriteConfirmMsg; ConfirmPopup.instance.OpenYesNoPopup(msgAgain, instance.ExecuteCloudLoad, PlatformSaveUtil.CancelStartLoginForLoad); } else { instance.ExecuteCloudLoad(); } }, PlatformSaveUtil.CancelStartLoginForLoad); } else { PlatformSaveUtil.NoDataToLoad(); } }); }