Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/SetUp.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

262 lines
8.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using Cute;
using LitJson;
using UnityEngine;
using Wizard.ErrorDialog;
namespace Wizard;
public class SetUp : MonoBehaviour
{
private JsonReader defaultReader;
private NetworkManager networkManager;
private IEnumerator Start()
{
Object.DontDestroyOnLoad(this);
ToolboxGame.SetUp = this;
if (string.IsNullOrEmpty(Toolbox.SavedataManager.GetString("LANG_SETTING")))
{
CustomPreference.SetTextLanguage("Eng");
CustomPreference.SetSoundLanguage("Eng");
}
Data.SystemText = new SystemText();
Data.SystemText.Initialize();
InitFrameWorkSettings();
Data.Initialize();
Data.SystemText.Initialize();
Wizard.ErrorDialog.Dialog.Initialize();
while (ToolboxGame.UIManager == null)
{
yield return 0;
}
InitGameManger();
Toolbox.SceneManager.SceneChangeParameter.KeepAssets = true;
}
public void InitFrameWorkSettings()
{
CustomPreference.SetScemeMode(CustomPreference.eSchemeType.Https);
CustomPreference.SetScemeModeCDN(CustomPreference.eSchemeType.Https);
CustomPreference.SetOptionalNodeSceme();
CustomPreference.SetSignature("Shadowverse");
CustomPreference.SetApplicationServerURL("utoongaize.shadowverse.jp/shadowverse/");
CustomPreference.SetResourceServerURL("shadowverse.akamaized.net/");
CustomPreference.SetNodeServerURL("");
CustomPreference.SetDeckBuilderServerURL("shadowverse-portal.com/api/v1/game_api/");
CustomPreference.SetLocale("Eng");
int num = (PlayerPrefsWrapper.GetBool(PlayerPrefsWrapper.FRAMERATE) ? 60 : 30);
Toolbox.QualityManager.SetFrameRate(num);
Application.targetFrameRate = num;
Toolbox.DeviceManager.SetVersionName();
Toolbox.AssetManager.AddNoUnloadAssetGroupName("card_shader_common");
Toolbox.AssetManager.AddNoUnloadAssetGroupName("card_foil");
Toolbox.AssetManager.AddNoUnloadAssetGroupName("effect_md_eff");
string text = Toolbox.SavedataManager.GetString("LANG_SETTING", "Eng");
string soundLanguage = Toolbox.SavedataManager.GetString("LANG_SOUND_SETTING", SwitchLanguage.GetDefaultVoiceLanguage(text));
string text2 = "";
for (int i = 0; i < AssetBundleEditorTag.categoryNameList.Length; i++)
{
if (text2 != "")
{
text2 += ",";
}
text2 += AssetBundleEditorTag.categoryNameList[i].name;
}
string[] categoryList = text2.Split(',');
Toolbox.AssetManager.SetCategoryList(categoryList);
Toolbox.AssetManager.createSavePath();
Toolbox.AssetManager.createPackagePath();
Toolbox.NetworkManager.NetworkUI = NetworkUI.GetInstance();
SoftwareReset.setAction();
CustomPreference.isPreferenceComplete = true;
CustomPreference.SetTextLanguage(text);
CustomPreference.SetSoundLanguage(soundLanguage);
SetLanguageData();
Toolbox.NetworkManager.Certification();
StartTitleCheckTask();
}
private void StartTitleCheckTask()
{
CheckSpecialTitleTask checkSpecialTitleTask = new CheckSpecialTitleTask();
checkSpecialTitleTask.SkipAllNetworkChecks();
StartCoroutine(Toolbox.NetworkManager.Connect(checkSpecialTitleTask, null, null, null, encrypt: true, useJson: false, showLoadingIcon: false));
}
public void InitGameSetting()
{
SetNetworkManager();
WaitSetUp();
}
private void InitGameManger()
{
GameMgr.CreateIns();
GameMgr.GetIns().CreateMgrIns(base.gameObject);
GameMgr.GetIns().GetSoundMgr().SetCueInfo();
GameMgr.GetIns().GetSoundMgr().AssignSe();
GameMgr.GetIns().GetSoundMgr().CreateBGMList();
}
private void WaitSetUp()
{
StartDownLoad();
}
private void StartDownLoad()
{
GameMgr.GetIns().GetSoundMgr().LoadBGM(Bgm.BGM_TYPE.HOME, delegate
{
StartCoroutine(LoadAssetBundles());
});
}
private void errorCallBack()
{
UIManager.GetInstance().isErrorProc = false;
string titleLabel = Data.SystemText.Get("System_0020");
if (UIManager.GetInstance().NowOpenDialog != null)
{
UIManager.GetInstance().NowOpenDialog.CloseWithoutSelect();
}
DialogBase dialogBase = UIManager.GetInstance().CreateDialogClose(isSystem: true);
dialogBase.SetFadeButtonEnabled(flag: false);
dialogBase.SetTitleLabel(titleLabel);
dialogBase.SetText(Data.SystemText.Get("System_0021"));
dialogBase.SetReturnMsg(UIManager.GetInstance().gameObject, "CommonResetGame");
dialogBase.SetButtonLayout(DialogBase.ButtonLayout.GrayBtn);
dialogBase.SetButtonText(Data.SystemText.Get("System_0006"));
UIManager.GetInstance().isRetryProc = false;
if (UIManager.GetInstance().isErrorProc && !UIManager.GetInstance().isRetryProc)
{
SoftwareReset.exec();
}
}
[DllImport("CyCrypt")]
public static extern string EncodePost(string input, string opt);
[DllImport("CyCrypt")]
public static extern string DecodePost(string input, string opt);
[DllImport("CyCrypt")]
public static extern void DestoryEncodeText();
[DllImport("CyCrypt")]
public static extern void DestoryDecodeText();
private void SetNetworkManager()
{
if (networkManager == null)
{
networkManager = Toolbox.NetworkManager;
}
}
public void BuildFirstScene()
{
PlayerStaticData.LoadUserEmblemTexture();
PlayerStaticData.LoadUserCountryTexture();
IDictionary<int, int> dictionary = new Dictionary<int, int>();
foreach (UserCard userCard in Data.Load.data.UserCardList)
{
if (!dictionary.ContainsKey(userCard.card_id))
{
dictionary.Add(userCard.card_id, userCard.number);
}
}
GameMgr.GetIns().GetDataMgr().SetUserOwnCardData(dictionary);
LoadComplete();
}
private void LoadComplete()
{
DataMgr dataMgr = GameMgr.GetIns().GetDataMgr();
if (Data.Load.data._userTutorial.tutorial_step != 100)
{
dataMgr.SetPlayerCharaId(500008);
Global.IS_LOAD_ALLDONE = true;
return;
}
DeckInfoTask task = new DeckInfoTask();
task.SetParameter(Format.All);
UIManager.GetInstance().StartCoroutine(Toolbox.NetworkManager.Connect(task, delegate
{
bool flag = false;
DeckGroupListData deckGroupListData = task.DeckGroupListData;
foreach (DeckData item in deckGroupListData.GetDeckListByAttribute(DeckAttributeType.CustomDeck))
{
if (!item.IsNoCard())
{
dataMgr.SetPlayerCharaIdBySkinId(item.GetSkinId());
dataMgr.SetCurrentDeckData(item.GetCardIdList());
flag = true;
break;
}
}
if (!flag)
{
DeckData deckData = deckGroupListData.GetDeckListByAttribute(DeckAttributeType.DefaultDeck).First();
dataMgr.SetPlayerCharaIdByClassId(deckData.GetDeckClassID());
dataMgr.SetCurrentDeckData(deckData.GetCardIdList());
}
GameMgr.GetIns().BuildDeckData();
Global.IS_LOAD_ALLDONE = true;
}));
}
private IEnumerator LoadAssetBundles()
{
GameMgr.GetIns().Init();
yield return StartCoroutine(UIManager.GetInstance().CardLoadResident());
BuildFirstScene();
}
private void OnUpdateDeckRequestFinished(NetworkTask.ResultCode error)
{
LoadComplete();
}
private void Update()
{
if (GameMgr.GetIns() != null)
{
GameMgr.GetIns().Update();
}
}
private void SetLanguageData()
{
string text = Toolbox.SavedataManager.GetString("LANG_SETTING");
if (string.IsNullOrEmpty(text))
{
string systemLanguage = Global.GetSystemLanguage();
if (Global.IsSupportedSystemLanguage(systemLanguage))
{
text = Global.GetLanguageType(systemLanguage);
Toolbox.SavedataManager.SetString("LANG_SETTING", text);
Toolbox.SavedataManager.SetString("LANG_FONT", Global.GetFontLangType(text));
Toolbox.SavedataManager.SetString("LANG_SOUND_SETTING", SwitchLanguage.GetDefaultVoiceLanguage(text));
CustomPreference.SetTextLanguage(Toolbox.SavedataManager.GetString("LANG_SETTING"));
CustomPreference.SetSoundLanguage(Toolbox.SavedataManager.GetString("LANG_SOUND_SETTING"));
Data.SystemText = new SystemText();
Data.SystemText.Initialize();
CustomPreference.createResourcePath();
}
if (string.IsNullOrEmpty(text))
{
Toolbox.SavedataManager.SetString("LANG_SETTING", "Eng");
Toolbox.SavedataManager.SetString("LANG_FONT", Global.GetFontLangType(Global.LANG_TYPE.Eng.ToString()));
Toolbox.SavedataManager.SetString("LANG_SOUND_SETTING", SwitchLanguage.GetDefaultVoiceLanguage("Eng"));
CustomPreference.SetTextLanguage(Toolbox.SavedataManager.GetString("LANG_SETTING"));
CustomPreference.SetSoundLanguage(Toolbox.SavedataManager.GetString("LANG_SOUND_SETTING"));
}
}
}
}