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.
181 lines
3.3 KiB
C#
181 lines
3.3 KiB
C#
using UnityEngine;
|
|
|
|
namespace Cute;
|
|
|
|
public class URLScheme
|
|
{
|
|
private enum CPTYPE
|
|
{
|
|
IORI = 1,
|
|
ALIVE
|
|
}
|
|
|
|
private static string process = "";
|
|
|
|
private static string result = "";
|
|
|
|
private static string scheme = "";
|
|
|
|
private static int short_udid = 0;
|
|
|
|
private static string udid = "";
|
|
|
|
private static string error_code = "";
|
|
|
|
private static string campaign_data = "";
|
|
|
|
private static int app_type = 0;
|
|
|
|
private const string COMBINE = "combine";
|
|
|
|
private const string MIGRATION = "migration";
|
|
|
|
private const string OK = "ok";
|
|
|
|
private const string NG = "ng";
|
|
|
|
private const string IORI = "cg";
|
|
|
|
private const string ALIVE = "pc";
|
|
|
|
public const string EC_MIGRATION_CANCEL = "3070";
|
|
|
|
public const string EC_COMBINE_CANCEL = "3060";
|
|
|
|
public const string EC_MIGRATION_ALREADY_RECORDED = "3061";
|
|
|
|
public const string EC_COMBINE_NO_URL = "3054";
|
|
|
|
public const string EC_MIGRATION_NO_URL = "3063";
|
|
|
|
public const string EC_COMBINE_EXEC_HAVE_RECORD = "3057";
|
|
|
|
public static string CampaignData => campaign_data;
|
|
|
|
public static int AppType => app_type;
|
|
|
|
public static void URLSchemeStartAndroid()
|
|
{
|
|
GetURLSchemeParamsAndroid();
|
|
ProcessSetting();
|
|
}
|
|
|
|
public static void URLSchemeStartiOS(string message)
|
|
{
|
|
GetURLSchemeParamsiOS(message);
|
|
ProcessSetting();
|
|
}
|
|
|
|
public static bool IsCombineOK()
|
|
{
|
|
if (process == "combine" && result == "ok")
|
|
{
|
|
return short_udid == Certification.ShortUdid;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static bool IsCombineNG()
|
|
{
|
|
if (process == "combine" && result == "ng")
|
|
{
|
|
return error_code != "";
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static bool IsMigrationOK()
|
|
{
|
|
if (process == "migration" && result == "ok")
|
|
{
|
|
return udid == Certification.Udid;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static bool IsMigrationNG()
|
|
{
|
|
if (process == "migration" && result == "ng")
|
|
{
|
|
return error_code != "";
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static bool IsMigrationFinished()
|
|
{
|
|
if (process == "migration" && result == "ng")
|
|
{
|
|
return error_code == "3061";
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static void Clear()
|
|
{
|
|
scheme = "";
|
|
process = "";
|
|
result = "";
|
|
short_udid = 0;
|
|
udid = "";
|
|
error_code = "";
|
|
}
|
|
|
|
public static void ClearCampaignData()
|
|
{
|
|
campaign_data = "";
|
|
app_type = 0;
|
|
}
|
|
|
|
private static void GetURLSchemeParamsAndroid()
|
|
{
|
|
Clear();
|
|
}
|
|
|
|
private static void GetURLSchemeParamsiOS(string url)
|
|
{
|
|
Clear();
|
|
if (url == "")
|
|
{
|
|
url = PlayerPrefs.GetString("iOSUrlScheme", "");
|
|
PlayerPrefs.DeleteKey("iOSUrlScheme");
|
|
}
|
|
if (url.IndexOf("://") >= 0)
|
|
{
|
|
scheme = url.Substring(0, url.IndexOf("://"));
|
|
AnalysisResult(url.Substring(url.IndexOf("://") + 3));
|
|
}
|
|
}
|
|
|
|
private static void ProcessSetting()
|
|
{
|
|
if (!(scheme == ""))
|
|
{
|
|
if (IsCombineOK())
|
|
{
|
|
DataMigration.CombineSucceed();
|
|
}
|
|
else if (IsCombineNG())
|
|
{
|
|
DataMigration.CombineFailed();
|
|
}
|
|
else if (IsMigrationOK())
|
|
{
|
|
DataMigration.MigrationSucceed();
|
|
}
|
|
else if (IsMigrationNG())
|
|
{
|
|
DataMigration.MigrationFailed();
|
|
}
|
|
}
|
|
}
|
|
|
|
private static void AnalysisResult(string host)
|
|
{
|
|
if (scheme == "shadowverse")
|
|
{
|
|
UIManager.GetInstance().AccountTransferHelper.GetAppleData(host);
|
|
}
|
|
}
|
|
}
|