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.
This commit is contained in:
139
SVSim.BattleEngine/Engine/Cute/GameStartCheckTask.cs
Normal file
139
SVSim.BattleEngine/Engine/Cute/GameStartCheckTask.cs
Normal file
@@ -0,0 +1,139 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user