Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
140 lines
4.4 KiB
C#
140 lines
4.4 KiB
C#
using System.Collections.Generic;
|
|
using LitJson;
|
|
using UnityEngine;
|
|
using Wizard;
|
|
|
|
namespace Cute;
|
|
|
|
public class GameStartCheckTask : NetworkTask
|
|
{
|
|
private class CheckParams : PostParams
|
|
{
|
|
public int app_type;
|
|
|
|
public string campaign_data = "";
|
|
|
|
public string campaign_sign = "";
|
|
|
|
public int campaign_user;
|
|
}
|
|
|
|
private CuteNetworkDefine.ApiType apiType = CuteNetworkDefine.ApiType.GameStartCheck;
|
|
|
|
public static bool IsSocialAccountDataTransNotSetAndTutorialClear = false;
|
|
|
|
public static bool IsTutorialClear = false;
|
|
|
|
public static List<CuteNetworkDefine.ACCOUNT_TYPE> IsSocialAccountDataTransSet;
|
|
|
|
public static bool IsSetTransitionPassword;
|
|
|
|
public static int _tosId;
|
|
|
|
public static int _privacyPolicyId;
|
|
|
|
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<CuteNetworkDefine.ACCOUNT_TYPE>();
|
|
}
|
|
|
|
public void SetParameter()
|
|
{
|
|
CheckParams checkParams = new CheckParams();
|
|
if (URLScheme.AppType != 0)
|
|
{
|
|
checkParams.campaign_data = URLScheme.CampaignData;
|
|
checkParams.app_type = URLScheme.AppType;
|
|
}
|
|
checkParams.campaign_sign = Toolbox.DeviceManager.getSignature();
|
|
int num = Random.Range(0, 100000);
|
|
if (Toolbox.DeviceManager.isRootUser())
|
|
{
|
|
checkParams.campaign_user = 2 * num + 1;
|
|
}
|
|
else
|
|
{
|
|
checkParams.campaign_user = 2 * num;
|
|
}
|
|
base.Params = checkParams;
|
|
}
|
|
|
|
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"))
|
|
{
|
|
Certification.ViewerId = base.ResponseData["data"]["rewrite_viewer_id"].ToInt();
|
|
}
|
|
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();
|
|
}
|
|
}
|