using System.Collections.Generic; using LitJson; using UnityEngine; using Wizard; namespace Cute; public class GameStartCheckTask : NetworkTask { private class CheckParams : PostParams { } private CuteNetworkDefine.ApiType apiType = CuteNetworkDefine.ApiType.GameStartCheck; public static bool IsSocialAccountDataTransNotSetAndTutorialClear = false; public static bool IsTutorialClear = false; public static List IsSocialAccountDataTransSet; public static bool IsSetTransitionPassword; public static bool HasAppliedForAccountDeletion { get; private set; } = false; public static string RefundUrl { get; private set; } = string.Empty; public override string Url => $"{CustomPreference.GetApplicationServerURL()}{CuteNetworkDefine.ApiUrlList[apiType]}"; public GameStartCheckTask() { if (Toolbox.BootNetwork != null) { Toolbox.BootNetwork.IsDoneGameStartCheck = false; } IsSocialAccountDataTransSet = new List(); } protected override int Parse() { int num = base.Parse(); if (num != 1) { return num; } IsSocialAccountDataTransNotSetAndTutorialClear = false; IsSocialAccountDataTransSet.Clear(); IsSetTransitionPassword = false; RefundUrl = string.Empty; if (base.ResponseData["data"].Keys.Contains("transition_account_data")) { JsonData jsonData = base.ResponseData["data"]["transition_account_data"]; for (int i = 0; i < jsonData.Count; i++) { if (jsonData[i]["social_account_type"].ToInt() == 1) { IsSocialAccountDataTransSet.Add(CuteNetworkDefine.ACCOUNT_TYPE.GOOGLE_PLAY); } else if (jsonData[i]["social_account_type"].ToInt() == 2) { IsSocialAccountDataTransSet.Add(CuteNetworkDefine.ACCOUNT_TYPE.GAME_CENTER); } else if (jsonData[i]["social_account_type"].ToInt() == 3) { IsSocialAccountDataTransSet.Add(CuteNetworkDefine.ACCOUNT_TYPE.FACEBOOK); } else if (jsonData[i]["social_account_type"].ToInt() == 6) { IsSocialAccountDataTransSet.Add(CuteNetworkDefine.ACCOUNT_TYPE.APPLE_ID); } } if (base.ResponseData["data"]["now_tutorial_step"].ToInt() == 100) { IsTutorialClear = true; } if (jsonData.Count == 0 && base.ResponseData["data"]["now_tutorial_step"].ToInt() == 100) { IsSocialAccountDataTransNotSetAndTutorialClear = true; } } if (base.ResponseData["data"].Keys.Contains("rewrite_viewer_id")) { /* Pre-Phase-5 chunk 39: rewrite_viewer_id is a client-only Cute path; dead headless */ } if (base.ResponseData["data"].Keys.Contains("is_set_transition_password")) { IsSetTransitionPassword = base.ResponseData["data"]["is_set_transition_password"].ToBoolean(); } HasAppliedForAccountDeletion = base.ResponseData["data"].Keys.Contains("account_delete_reservation_status"); ParseAgreementData(base.ResponseData); if (base.ResponseData["data"].Keys.Contains("refund_url")) { RefundUrl = base.ResponseData["data"]["refund_url"].ToString(); } return num; } private void ParseAgreementData(JsonData responseData) { PlayerStaticData._tosAgreementState = (PlayerStaticData.AgreementState)responseData["data"]["tos_state"].ToInt(); PlayerStaticData._privacyPolicyAgreementState = (PlayerStaticData.AgreementState)responseData["data"]["policy_state"].ToInt(); PlayerStaticData.KorAuthorityAgreementState = (PlayerStaticData.AgreementState)responseData["data"]["kor_authority_state"].ToInt(); AcceptAgreementTask._tosId = responseData["data"]["tos_id"].ToInt(); AcceptAgreementTask._privacyPolicyId = responseData["data"]["policy_id"].ToInt(); AcceptAgreementTask.KorAuthorityId = responseData["data"]["kor_authority_id"].ToInt(); } }