Files
SVSimServer/SVSim.BattleEngine/Engine/Cute/GameStartCheckTask.cs
gamer147 957af3d1ec feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
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.
2026-06-05 17:22:20 -04:00

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();
}
}