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:
594
SVSim.BattleEngine/Engine/LoadDetail.cs
Normal file
594
SVSim.BattleEngine/Engine/LoadDetail.cs
Normal file
@@ -0,0 +1,594 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using LitJson;
|
||||
using UnityEngine;
|
||||
using Wizard;
|
||||
using Wizard.UI.LoginBonus;
|
||||
|
||||
public class LoadDetail
|
||||
{
|
||||
private const string ARENA_INFO_KEY = "arena_info";
|
||||
|
||||
public int RotationFirstCardPackId;
|
||||
|
||||
public int RotationLatestCardPackId;
|
||||
|
||||
public UserInfo _userInfo = new UserInfo();
|
||||
|
||||
public UserCrystalCount _userCrystalCount = new UserCrystalCount();
|
||||
|
||||
public UserTutorial _userTutorial = new UserTutorial();
|
||||
|
||||
private List<long> _acquiredEmblemList = new List<long>();
|
||||
|
||||
private List<long> _favoriteEmblemList = new List<long>();
|
||||
|
||||
private List<int> _acquiredDegreeList = new List<int>();
|
||||
|
||||
private List<int> _favoriteDegreeList = new List<int>();
|
||||
|
||||
private List<long> _acquiredSleeveList = new List<long>();
|
||||
|
||||
private List<long> _favoriteSleeveList = new List<long>();
|
||||
|
||||
public UserConfig _userConfig = new UserConfig();
|
||||
|
||||
public ChallengeConfig _challengeConfig = new ChallengeConfig();
|
||||
|
||||
public Dictionary<int, UserRank> _userRank = new Dictionary<int, UserRank>();
|
||||
|
||||
public List<ClassCharaExp> _classCharaExpList = new List<ClassCharaExp>();
|
||||
|
||||
public Dictionary<int, int> _userItemDict = new Dictionary<int, int>();
|
||||
|
||||
public DateTime _masterResetNextTime;
|
||||
|
||||
public int _receiveInviteCount;
|
||||
|
||||
public List<UnlimitedRestrictedCard> UnlimitedRestrictedCardList { get; private set; } = new List<UnlimitedRestrictedCard>();
|
||||
|
||||
public List<int> RotationCardSetList { get; private set; } = new List<int>();
|
||||
|
||||
public Dictionary<string, int> OverwriteGetRedEtherDict { get; private set; } = new Dictionary<string, int>();
|
||||
|
||||
public Dictionary<string, int> OverwriteUseRedEtherDict { get; private set; } = new Dictionary<string, int>();
|
||||
|
||||
public bool[] LootBoxReguration { get; private set; } = new bool[6];
|
||||
|
||||
public JsonData UserDeckListRotation { get; private set; }
|
||||
|
||||
public JsonData UserDeckListUnlimited { get; private set; }
|
||||
|
||||
public JsonData UserDeckListPreRotation { get; private set; }
|
||||
|
||||
public JsonData UserDeckListCrossover { get; private set; }
|
||||
|
||||
public JsonData UserDeckListMyRotation { get; private set; }
|
||||
|
||||
public List<int> AcquiredSkinList { get; private set; } = new List<int>();
|
||||
|
||||
public List<string> AcquiredMyPageBGList { get; private set; } = new List<string>();
|
||||
|
||||
public List<UserCard> UserCardList { get; private set; } = new List<UserCard>();
|
||||
|
||||
public List<RankInfo> RankInfoList { get; private set; } = new List<RankInfo>();
|
||||
|
||||
public Dictionary<int, BattlePassLevelInfo> BattlePassLevelInfoList { get; private set; } = new Dictionary<int, BattlePassLevelInfo>();
|
||||
|
||||
public List<int> LoadingExclusionCardList { get; private set; } = new List<int>();
|
||||
|
||||
public int BattleRecoveryStatus { get; private set; }
|
||||
|
||||
public int RoomRecoveryStatus { get; private set; }
|
||||
|
||||
public long DefaultEmblemId { get; private set; }
|
||||
|
||||
public int DefaultDegreeId { get; private set; }
|
||||
|
||||
public NormalData NormalLoginBonusData { get; private set; }
|
||||
|
||||
public ContinuousData ContinuousLoginBonusData { get; private set; }
|
||||
|
||||
public List<SpecialData> SpecialLoginBonusDataList { get; private set; } = new List<SpecialData>();
|
||||
|
||||
public FreeCardPackBoxData FreeCardPackData { get; private set; }
|
||||
|
||||
public Dictionary<int, string> UserItemExpireTimeDictionary { get; set; } = new Dictionary<int, string>();
|
||||
|
||||
public List<int> UserItemNotStartList { get; set; } = new List<int>();
|
||||
|
||||
public List<int> ReprintedBaseCardIds { get; private set; } = new List<int>();
|
||||
|
||||
public CardMaster.UpdateInfo CardMasterUpdateInfo { get; private set; }
|
||||
|
||||
public int ResourceDlViewID { get; private set; }
|
||||
|
||||
public List<string> OpenBattleFieldIdList { get; private set; }
|
||||
|
||||
public void ConvertJsonData(JsonData responseData)
|
||||
{
|
||||
JsonData jsonData = responseData["data"];
|
||||
GameMgr.GetIns().GetDataMgr().SetMaintenanceCardIds(jsonData["maintenance_card_list"]);
|
||||
JsonData jsonData2 = jsonData["unlimited_restricted_base_card_id_list"];
|
||||
if (jsonData2.IsObject)
|
||||
{
|
||||
foreach (string key2 in jsonData2.Keys)
|
||||
{
|
||||
if (int.TryParse(key2, out var result))
|
||||
{
|
||||
UnlimitedRestrictedCardList.Add(new UnlimitedRestrictedCard(result, jsonData2[key2].ToInt()));
|
||||
}
|
||||
}
|
||||
}
|
||||
JsonData jsonData3 = jsonData["rotation_card_set_id_list"];
|
||||
for (int i = 0; i < jsonData3.Count; i++)
|
||||
{
|
||||
RotationCardSetList.Add(jsonData3[i]["card_set_id"].ToInt());
|
||||
}
|
||||
RotationLatestCardPackId = RotationCardSetList[RotationCardSetList.Count - 1];
|
||||
RotationFirstCardPackId = RotationCardSetList[1];
|
||||
JsonData jsonData4 = jsonData["red_ether_overwrite_list"];
|
||||
for (int j = 0; j < jsonData4.Count; j++)
|
||||
{
|
||||
string key = jsonData4[j]["card_id"].ToString();
|
||||
if (jsonData4[j].Keys.Contains("get_red_ether"))
|
||||
{
|
||||
int value = jsonData4[j]["get_red_ether"].ToInt();
|
||||
OverwriteGetRedEtherDict.Add(key, value);
|
||||
}
|
||||
if (jsonData4[j].Keys.Contains("use_red_ether"))
|
||||
{
|
||||
int value2 = jsonData4[j]["use_red_ether"].ToInt();
|
||||
OverwriteUseRedEtherDict.Add(key, value2);
|
||||
}
|
||||
}
|
||||
UserInfo userInfo = _userInfo;
|
||||
JsonData jsonData5 = jsonData["user_info"];
|
||||
userInfo.name = jsonData5["name"].ToString();
|
||||
userInfo.birth_day = jsonData5["birth"].ToString();
|
||||
userInfo.selected_emblem_id = jsonData5["selected_emblem_id"].ToLong();
|
||||
userInfo.selected_degree_id = jsonData5["selected_degree_id"].ToInt();
|
||||
JsonData jsonData6 = jsonData5["country_code"];
|
||||
userInfo.country_code = ((jsonData6 == null) ? string.Empty : jsonData6.ToString());
|
||||
PlayerStaticData.IsOfficialUser = jsonData5["is_official"].ToInt() == 1;
|
||||
PlayerStaticData.IsOfficialUserDisplay = jsonData5["is_official_mark_displayed"].ToInt() == 1;
|
||||
_userRank[0] = new UserRank();
|
||||
_userRank[1] = new UserRank();
|
||||
_userRank[104] = new UserRank();
|
||||
_userRank[5] = new UserRank();
|
||||
_userRank[39] = new UserRank();
|
||||
JsonData jsonData7 = jsonData["loot_box_regulation"];
|
||||
if (jsonData7.Count > 0)
|
||||
{
|
||||
LootBoxReguration[0] = jsonData7["pack"].ToInt() == 1;
|
||||
LootBoxReguration[1] = jsonData7["arena_2pick"].ToInt() == 1;
|
||||
LootBoxReguration[2] = jsonData7["arena_sealed"].ToInt() == 1;
|
||||
LootBoxReguration[3] = jsonData7["arena_colosseum"].ToInt() == 1;
|
||||
LootBoxReguration[4] = jsonData7["arena_competition"].ToInt() == 1;
|
||||
LootBoxReguration[5] = jsonData7["special_shop"].ToInt() == 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int k = 0; k < 6; k++)
|
||||
{
|
||||
LootBoxReguration[k] = false;
|
||||
}
|
||||
}
|
||||
_userCrystalCount.SetUserCrystalCount(jsonData["user_crystal_count"]);
|
||||
_userCrystalCount.ParseSpecialCrystal(responseData);
|
||||
JsonData jsonData8 = jsonData["user_item_list"];
|
||||
for (int l = 0; l < jsonData8.Count; l++)
|
||||
{
|
||||
PlayerStaticData.InitializeItemNum(jsonData8[l]["item_id"].ToInt(), jsonData8[l]["number"].ToInt());
|
||||
}
|
||||
Data.Load.data.UserItemExpireTimeDictionary = new Dictionary<int, string>();
|
||||
Data.Load.data.UserItemNotStartList = new List<int>();
|
||||
if (jsonData.Keys.Contains("item_expire_date"))
|
||||
{
|
||||
JsonData jsonData9 = jsonData["item_expire_date"];
|
||||
for (int m = 0; m < jsonData9.Count; m++)
|
||||
{
|
||||
JsonData jsonData10 = jsonData9[m];
|
||||
int num = jsonData10["item_id"].ToInt();
|
||||
string text = jsonData10["expire_date"].ToString();
|
||||
if (jsonData10.TryGetValue("start_date", out var value3) && new RemainTime(value3.ToString(), responseData["data_headers"]["servertime"].ToDouble()).Second > 1)
|
||||
{
|
||||
Data.Load.data.UserItemNotStartList.Add(num);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(text))
|
||||
{
|
||||
Data.Load.data.UserItemExpireTimeDictionary[num] = ConvertTime.ToLocal(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
PlayerStaticData.UserSpotCardPointCount = jsonData["spot_point"].ToInt();
|
||||
if (jsonData.Keys.Contains("arena_info"))
|
||||
{
|
||||
Data.ArenaData = new ArenaData(jsonData["arena_info"]);
|
||||
Data.ArenaData.ColosseumData.IsFreeEntry = jsonData["is_available_colosseum_free_entry"].ToBoolean();
|
||||
}
|
||||
_receiveInviteCount = jsonData["friend_battle_invite_count"].ToInt();
|
||||
_userTutorial.Update(jsonData["user_tutorial"]);
|
||||
UserDeckListRotation = jsonData["user_deck_rotation"]["user_deck_list"];
|
||||
UserDeckListUnlimited = jsonData["user_deck_unlimited"]["user_deck_list"];
|
||||
if (jsonData.Keys.Contains("user_deck_pre_rotation"))
|
||||
{
|
||||
UserDeckListPreRotation = jsonData["user_deck_pre_rotation"]["user_deck_list"];
|
||||
}
|
||||
if (jsonData.Keys.Contains("user_deck_crossover"))
|
||||
{
|
||||
UserDeckListCrossover = jsonData["user_deck_crossover"]["user_deck_list"];
|
||||
}
|
||||
if (jsonData.Keys.Contains("user_deck_my_rotation"))
|
||||
{
|
||||
UserDeckListMyRotation = jsonData["user_deck_my_rotation"]["user_deck_list"];
|
||||
}
|
||||
if (Data.Master.isMasterDataLoaded)
|
||||
{
|
||||
DeckListUtility.SetDeckListDataWithLodeIndex();
|
||||
}
|
||||
DefaultEmblemId = jsonData["default_setting"]["default_emblem_id"].ToInt();
|
||||
JsonData jsonData11 = jsonData["user_emblem_list"];
|
||||
for (int n = 0; n < jsonData11.Count; n++)
|
||||
{
|
||||
long num2 = jsonData11[n]["emblem_id"].ToLong();
|
||||
if (Data.Master.EmblemMgr != null)
|
||||
{
|
||||
Data.Master.EmblemMgr.Acquired(num2);
|
||||
Data.Master.EmblemMgr.UnsetNew(num2);
|
||||
}
|
||||
else
|
||||
{
|
||||
_acquiredEmblemList.Add(num2);
|
||||
}
|
||||
}
|
||||
if (jsonData.TryGetValue("user_favorite_emblem_list", out var value4))
|
||||
{
|
||||
for (int num3 = 0; num3 < value4.Count; num3++)
|
||||
{
|
||||
long num4 = value4[num3].ToLong();
|
||||
if (Data.Master.EmblemMgr != null)
|
||||
{
|
||||
Data.Master.EmblemMgr.SetFavorite(num4, favorite: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
_favoriteEmblemList.Add(num4);
|
||||
}
|
||||
}
|
||||
}
|
||||
DefaultDegreeId = jsonData["default_setting"]["default_degree_id"].ToInt();
|
||||
JsonData jsonData12 = jsonData["user_degree_list"];
|
||||
for (int num5 = 0; num5 < jsonData12.Count; num5++)
|
||||
{
|
||||
int num6 = (int)jsonData12[num5]["degree_id"];
|
||||
if (Data.Master.DegreeMgr != null)
|
||||
{
|
||||
Data.Master.DegreeMgr.Acquired(num6);
|
||||
Data.Master.DegreeMgr.UnsetNew(num6);
|
||||
}
|
||||
else
|
||||
{
|
||||
_acquiredDegreeList.Add(num6);
|
||||
}
|
||||
}
|
||||
if (jsonData.TryGetValue("user_favorite_degree_list", out var value5))
|
||||
{
|
||||
for (int num7 = 0; num7 < value5.Count; num7++)
|
||||
{
|
||||
int num8 = value5[num7].ToInt();
|
||||
if (Data.Master.DegreeMgr != null)
|
||||
{
|
||||
Data.Master.DegreeMgr.SetFavorite(num8, favorite: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
_favoriteDegreeList.Add(num8);
|
||||
}
|
||||
}
|
||||
}
|
||||
JsonData jsonData13 = jsonData["user_leader_skin_list"];
|
||||
for (int num9 = 0; num9 < jsonData13.Count; num9++)
|
||||
{
|
||||
JsonData jsonData14 = jsonData13[num9];
|
||||
if (jsonData14["is_owned"].ToBoolean())
|
||||
{
|
||||
AcquiredSkinList.Add(jsonData14["leader_skin_id"].ToInt());
|
||||
}
|
||||
}
|
||||
JsonData jsonData15 = jsonData["user_sleeve_list"];
|
||||
for (int num10 = 0; num10 < jsonData15.Count; num10++)
|
||||
{
|
||||
long num11 = jsonData15[num10]["sleeve_id"].ToLong();
|
||||
if (Data.Master.SleeveMgr != null)
|
||||
{
|
||||
Data.Master.SleeveMgr.Acquired(num11);
|
||||
Data.Master.SleeveMgr.UnsetNew(num11);
|
||||
}
|
||||
else
|
||||
{
|
||||
_acquiredSleeveList.Add(num11);
|
||||
}
|
||||
}
|
||||
if (jsonData.TryGetValue("user_favorite_sleeve_list", out var value6))
|
||||
{
|
||||
for (int num12 = 0; num12 < value6.Count; num12++)
|
||||
{
|
||||
long num13 = value6[num12].ToLong();
|
||||
if (Data.Master.SleeveMgr != null)
|
||||
{
|
||||
Data.Master.SleeveMgr.SetFavorite(num13, b: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
_favoriteSleeveList.Add(num13);
|
||||
}
|
||||
}
|
||||
}
|
||||
JsonData jsonData16 = jsonData["user_mypage_list"];
|
||||
AcquiredMyPageBGList = new List<string>();
|
||||
for (int num14 = 0; num14 < jsonData16.Count; num14++)
|
||||
{
|
||||
AcquiredMyPageBGList.Add(jsonData16[num14].ToString());
|
||||
}
|
||||
JsonData jsonData17 = jsonData["user_card_list"];
|
||||
List<int> favoriteCardList = GameMgr.GetIns().GetDataMgr().FavoriteCardList;
|
||||
for (int num15 = 0; num15 < jsonData17.Count; num15++)
|
||||
{
|
||||
JsonData jsonData18 = jsonData17[num15];
|
||||
UserCard userCard = new UserCard();
|
||||
int item = (userCard.card_id = jsonData18["card_id"].ToInt());
|
||||
userCard.number = jsonData18["number"].ToInt();
|
||||
if (jsonData18["is_protected"].ToInt() != 0)
|
||||
{
|
||||
favoriteCardList.Add(item);
|
||||
}
|
||||
UserCardList.Add(userCard);
|
||||
}
|
||||
JsonData userClassCharaList = jsonData["user_class_list"];
|
||||
JsonData userRankMatchList = jsonData["user_rank_match_list"];
|
||||
GameMgr.GetIns().GetDataMgr().SetClassPrm(userClassCharaList, userRankMatchList);
|
||||
ParseUserRank(jsonData);
|
||||
JsonData jsonData19 = jsonData["rank_info"];
|
||||
int num16 = 0;
|
||||
for (int num17 = 0; num17 < jsonData19.Count; num17++)
|
||||
{
|
||||
JsonData jsonData20 = jsonData19[num17];
|
||||
RankInfo rankInfo = new RankInfo(jsonData20);
|
||||
if (num17 >= 24)
|
||||
{
|
||||
int num18 = jsonData20["accumulate_master_point"].ToInt();
|
||||
rankInfo._necessaryMasterPoint = num18 - num16;
|
||||
num16 = num18;
|
||||
}
|
||||
RankInfoList.Add(rankInfo);
|
||||
}
|
||||
JsonData jsonData21 = jsonData["class_exp"];
|
||||
for (int num19 = 0; num19 < jsonData21.Count; num19++)
|
||||
{
|
||||
JsonData jsonData22 = jsonData21[num19];
|
||||
ClassCharaExp classCharaExp = new ClassCharaExp();
|
||||
classCharaExp.level = jsonData22["level"].ToInt();
|
||||
classCharaExp.necessary_exp = jsonData22["necessary_exp"].ToInt();
|
||||
classCharaExp.accumulate_exp = jsonData22["accumulate_exp"].ToInt();
|
||||
_classCharaExpList.Add(classCharaExp);
|
||||
}
|
||||
if (jsonData.TryGetValue("battle_pass_level_info", out var value7))
|
||||
{
|
||||
foreach (JsonData value13 in value7.Values)
|
||||
{
|
||||
BattlePassLevelInfo battlePassLevelInfo = new BattlePassLevelInfo(value13);
|
||||
BattlePassLevelInfoList.Add(battlePassLevelInfo.Level, battlePassLevelInfo);
|
||||
}
|
||||
}
|
||||
JsonData jsonData23 = jsonData["loading_exclusion_card_list"];
|
||||
for (int num20 = 0; num20 < jsonData23.Count; num20++)
|
||||
{
|
||||
LoadingExclusionCardList.Add(Convert.ToInt32(jsonData23[num20].ToString()));
|
||||
}
|
||||
SettingRecoveryStatus(jsonData["battle_recovery_status"].ToInt(), jsonData["room_recovery_status"].ToInt());
|
||||
NormalLoginBonusData = null;
|
||||
ContinuousLoginBonusData = null;
|
||||
SpecialLoginBonusDataList.Clear();
|
||||
if (jsonData.Keys.Contains("daily_login_bonus"))
|
||||
{
|
||||
ParseLoginBonusInfo(jsonData["daily_login_bonus"]);
|
||||
}
|
||||
FreeCardPackData = null;
|
||||
if (jsonData.TryGetValue("free_card_pack_box_campaign", out var value8))
|
||||
{
|
||||
FreeCardPackData = new FreeCardPackBoxData(value8);
|
||||
}
|
||||
JsonData jsonData24 = jsonData["reprinted_base_card_ids"];
|
||||
ReprintedBaseCardIds.Clear();
|
||||
for (int num21 = 0; num21 < jsonData24.Count; num21++)
|
||||
{
|
||||
ReprintedBaseCardIds.Add(jsonData24[num21].ToInt());
|
||||
}
|
||||
SpotCardData spotCardData = new SpotCardData();
|
||||
if (jsonData.Keys.Contains("spot_cards"))
|
||||
{
|
||||
spotCardData.SetSpotCardData(jsonData["spot_cards"]);
|
||||
}
|
||||
GameMgr.GetIns().GetDataMgr().SpotCardData = spotCardData;
|
||||
CardMasterUpdateInfo = new CardMaster.UpdateInfo(jsonData);
|
||||
if (jsonData.Keys.Contains("pre_release_info"))
|
||||
{
|
||||
Prerelease.Create(jsonData["pre_release_info"]);
|
||||
}
|
||||
if (jsonData.Keys.Contains("gathering_info"))
|
||||
{
|
||||
Data.MyPageNotifications.data.IsInviteGathering = jsonData["gathering_info"]["has_invite"].ToInt() != 0;
|
||||
}
|
||||
Data.User.ConnectTimeForMasterReset = ConvertTime.UnixTimeToDateTime(responseData["data_headers"]["servertime"].ToInt());
|
||||
Data.User.ConnectSinceStartUp = Time.realtimeSinceStartup;
|
||||
_masterResetNextTime = DateTime.MinValue;
|
||||
Data.Load.data._challengeConfig.UseTwoPickPremiumCard = responseData["data"]["challenge_config"]["use_challenge_two_pick_premium_card"].ToInt() == 1;
|
||||
Data.Load.data._challengeConfig.TwoPickSleeveId = responseData["data"]["challenge_config"]["challenge_two_pick_sleeve_id"].ToLong();
|
||||
Data.ParseIsBattlePassPeriod(responseData["data"]);
|
||||
Data.ParseMaintenance(jsonData["feature_maintenance_list"]);
|
||||
ResourceDlViewID = jsonData.GetValueOrDefault("card_set_id_for_resource_dl_view", 1);
|
||||
if (jsonData.Keys.Contains("open_battle_field_id_list") && jsonData.TryGetValue("open_battle_field_id_list", out var value9))
|
||||
{
|
||||
OpenBattleFieldIdList = new List<string>();
|
||||
for (int num22 = 0; num22 < value9.Count; num22++)
|
||||
{
|
||||
OpenBattleFieldIdList.Add(value9[num22].ToString());
|
||||
}
|
||||
PlayerPrefsWrapper.TurnOnFirsStageIfStageIdListAllOff();
|
||||
}
|
||||
if (jsonData.TryGetValue("crossover_info", out var value10))
|
||||
{
|
||||
Data.Crossover.Parse(value10);
|
||||
}
|
||||
if (jsonData.TryGetValue("my_rotation_info", out var value11))
|
||||
{
|
||||
bool isFinishInitializeText = Data.MyRotationAllInfo.IsFinishInitializeText;
|
||||
Data.MyRotationAllInfo = new MyRotationAllInfo();
|
||||
Data.MyRotationAllInfo.Parse(value11, responseData["data_headers"]);
|
||||
if (isFinishInitializeText)
|
||||
{
|
||||
Data.MyRotationAllInfo.InitializeText();
|
||||
}
|
||||
}
|
||||
if (jsonData.TryGetValue("avatar_info", out var value12))
|
||||
{
|
||||
Data.AvatarBattleAllInfo = new AvatarBattleAllInfo();
|
||||
Data.AvatarBattleAllInfo.Parse(value12, responseData["data_headers"]);
|
||||
}
|
||||
}
|
||||
|
||||
public void ParseUserRank(JsonData data)
|
||||
{
|
||||
if (data["user_rank"] != null)
|
||||
{
|
||||
for (int i = 0; i < data["user_rank"].Count; i++)
|
||||
{
|
||||
JsonData jsonData = data["user_rank"][i];
|
||||
Format format = Data.ParseApiFormat(jsonData["deck_format"].ToInt());
|
||||
_userRank[(int)format].Initialize(jsonData, format);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsAcquiredSleeve(long sleeveId)
|
||||
{
|
||||
return _acquiredSleeveList.Contains(sleeveId);
|
||||
}
|
||||
|
||||
public bool IsFavoriteSleeve(long sleeveId)
|
||||
{
|
||||
return _favoriteSleeveList.Contains(sleeveId);
|
||||
}
|
||||
|
||||
public bool IsAcquiredEmblem(long emblemId)
|
||||
{
|
||||
return _acquiredEmblemList.Contains(emblemId);
|
||||
}
|
||||
|
||||
public bool IsFavoriteEmblem(long emblemId)
|
||||
{
|
||||
return _favoriteEmblemList.Contains(emblemId);
|
||||
}
|
||||
|
||||
public bool IsAcquiredDegree(int degreeId)
|
||||
{
|
||||
return _acquiredDegreeList.Contains(degreeId);
|
||||
}
|
||||
|
||||
public bool IsFavoriteDegree(int degreeId)
|
||||
{
|
||||
return _favoriteDegreeList.Contains(degreeId);
|
||||
}
|
||||
|
||||
public bool IsExistLoginBonusData()
|
||||
{
|
||||
return NormalLoginBonusData != null;
|
||||
}
|
||||
|
||||
public bool IsExistFreeCardPackBoxData()
|
||||
{
|
||||
return FreeCardPackData != null;
|
||||
}
|
||||
|
||||
public void SettingRecoveryStatus(int battleRecovery, int roomRecovery)
|
||||
{
|
||||
BattleRecoveryStatus = battleRecovery;
|
||||
RoomRecoveryStatus = roomRecovery;
|
||||
}
|
||||
|
||||
public void InitRecoveryStatus()
|
||||
{
|
||||
BattleRecoveryStatus = 0;
|
||||
RoomRecoveryStatus = 0;
|
||||
}
|
||||
|
||||
public List<RankInfo> GetRankInfoRawList(Format format)
|
||||
{
|
||||
if (format == Format.Crossover)
|
||||
{
|
||||
return Data.Crossover.GetRankInfoRawList();
|
||||
}
|
||||
return RankInfoList;
|
||||
}
|
||||
|
||||
public RankInfo GetRankInfo(Format format, int rankId)
|
||||
{
|
||||
if (format == Format.Crossover)
|
||||
{
|
||||
return Data.Crossover.GetRankInfo(rankId);
|
||||
}
|
||||
return RankInfoList[rankId - 1];
|
||||
}
|
||||
|
||||
public bool IsStartRank(Format format, int rankId)
|
||||
{
|
||||
if (format == Format.Crossover)
|
||||
{
|
||||
return Data.Crossover.IsStartRank(rankId);
|
||||
}
|
||||
return RankInfoList[0].RankId == rankId;
|
||||
}
|
||||
|
||||
private void ParseLoginBonusInfo(JsonData info)
|
||||
{
|
||||
if (info == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ICollection<string> keys = info.Keys;
|
||||
if (keys.Contains("normal"))
|
||||
{
|
||||
JsonData jsonData = info["normal"];
|
||||
if (jsonData != null && jsonData.Count > 0)
|
||||
{
|
||||
NormalLoginBonusData = new NormalData(jsonData);
|
||||
}
|
||||
}
|
||||
if (keys.Contains("total"))
|
||||
{
|
||||
JsonData jsonData2 = info["total"];
|
||||
if (jsonData2 != null && jsonData2.Count > 0)
|
||||
{
|
||||
ContinuousLoginBonusData = new ContinuousData(jsonData2);
|
||||
}
|
||||
}
|
||||
if (!keys.Contains("campaign"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
JsonData jsonData3 = info["campaign"];
|
||||
if (jsonData3 != null)
|
||||
{
|
||||
for (int i = 0; i < jsonData3.Count; i++)
|
||||
{
|
||||
SpecialLoginBonusDataList.Add(new SpecialData(jsonData3[i]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void InitializeAfterMasterLoading()
|
||||
{
|
||||
Data.MyRotationAllInfo.InitializeText();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user