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:
448
SVSim.BattleEngine/Engine/Wizard/Data.cs
Normal file
448
SVSim.BattleEngine/Engine/Wizard/Data.cs
Normal file
@@ -0,0 +1,448 @@
|
||||
using System.Collections.Generic;
|
||||
using DeckBuilder;
|
||||
using LitJson;
|
||||
using UnityEngine;
|
||||
using Wizard.Scripts.Network.Data.TableData.Ranking;
|
||||
using Wizard.Scripts.Network.Data.TaskData;
|
||||
using Wizard.Scripts.Network.Data.TaskData.Arena;
|
||||
using Wizard.Scripts.Network.Data.TaskData.Arena.TwoPick;
|
||||
using Wizard.Scripts.Network.Data.TaskData.Battle;
|
||||
using Wizard.Scripts.Network.Data.TaskData.BuildDeckPurchase;
|
||||
using Wizard.Scripts.Network.Data.TaskData.ItemPurchase;
|
||||
using Wizard.Scripts.Network.Data.TaskData.Ranking;
|
||||
using Wizard.Scripts.Network.Data.TaskData.SkinPurchase;
|
||||
using Wizard.Scripts.Network.Data.TaskData.SleevePurchase;
|
||||
using Wizard.Story;
|
||||
|
||||
namespace Wizard;
|
||||
|
||||
public static class Data
|
||||
{
|
||||
private static Format _currentFormat;
|
||||
|
||||
public const int SERVER_FORMAT_NONE = 0;
|
||||
|
||||
public const int SERVER_FORMAT_ROTATION = 1;
|
||||
|
||||
public const int SERVER_FORMAT_UNLIMITED = 2;
|
||||
|
||||
public const int SERVER_FORMAT_PRE_ROTATION = 3;
|
||||
|
||||
public const int SERVER_FORMAT_CROSSOVER = 4;
|
||||
|
||||
public const int SERVER_FORMAT_TWO_PICK = 10;
|
||||
|
||||
public const int SERVER_FORMAT_SEALED = 20;
|
||||
|
||||
public const int SERVER_FORMAT_HOF = 31;
|
||||
|
||||
public const int SERVER_FORMAT_WIND_FALL = 33;
|
||||
|
||||
public static Master Master { get; set; }
|
||||
|
||||
public static Mastershop ShopMaster { get; set; }
|
||||
|
||||
public static SystemText SystemText { get; set; }
|
||||
|
||||
public static EncryptData EncryptData { get; set; }
|
||||
|
||||
public static Load Load { get; set; }
|
||||
|
||||
public static MyPage MyPage { get; set; }
|
||||
|
||||
public static MyPageNotifications MyPageNotifications { get; set; }
|
||||
|
||||
public static RankMatchFinish RankMatchFinish { get; set; }
|
||||
|
||||
public static FreeMatchFinish FreeMatchFinish { get; set; }
|
||||
|
||||
public static ColosseumBattleFinish ColosseumBattleFinish { get; set; }
|
||||
|
||||
public static CompetitionBattleFinish CompetitionBattleFinish { get; set; }
|
||||
|
||||
public static RedEtherCampaignResultData RedEtherCampaignResultData { get; set; }
|
||||
|
||||
public static DoMatchingData DoMatchingDetail { get; set; }
|
||||
|
||||
public static AIBattleStartData AIBattleStartData { get; set; }
|
||||
|
||||
public static RoomMatchFinish RoomMatchFinish { get; set; }
|
||||
|
||||
public static string LastRoomBattleId { get; set; }
|
||||
|
||||
public static RoomBattleMatching RoomBattleMatching { get; set; }
|
||||
|
||||
public static SelectedStoryInfo SelectedStoryInfo { get; set; }
|
||||
|
||||
public static StoryWorldDataManager StoryWorldDataManager { get; set; }
|
||||
|
||||
public static StoryInfo StoryInfo { get; set; }
|
||||
|
||||
public static StoryFinish StoryFinish { get; set; }
|
||||
|
||||
public static StoryLeaderSelect StoryLeaderSelect { get; set; }
|
||||
|
||||
public static QuestMissionInfo QuestMissionInfo { get; set; }
|
||||
|
||||
public static QuestFinish QuestFinish { get; set; }
|
||||
|
||||
public static ArenaData ArenaData { get; set; }
|
||||
|
||||
public static MailTop MailTop { get; set; }
|
||||
|
||||
public static ReadMail ReadMail { get; set; }
|
||||
|
||||
public static PackInfo PackInfo { get; set; }
|
||||
|
||||
public static PackOpen PackOpen { get; set; }
|
||||
|
||||
public static SleevePurchaseInfo SleevePurchaseInfo { get; set; }
|
||||
|
||||
public static SkinPurchaseInfo SkinPurchaseInfo { get; set; }
|
||||
|
||||
public static BuildDeckPurchaseInfo BuildDeckPurchaseInfo { get; set; }
|
||||
|
||||
public static ItemPurchaseInfo ItemPurchaseInfo { get; set; }
|
||||
|
||||
public static EmptyDeckInfo EmptyDeckInfo { get; set; }
|
||||
|
||||
public static MissionInfo MissionInfo { get; set; }
|
||||
|
||||
public static AchievementInfo AchievementInfo { get; set; }
|
||||
|
||||
public static User User { get; set; }
|
||||
|
||||
public static UserConfig UserConfig { get; set; }
|
||||
|
||||
public static UserTutorial UserTutorial { get; set; }
|
||||
|
||||
public static FriendInfo FriendInfo { get; set; }
|
||||
|
||||
public static PlayedTogetherInfo PlayedTogetherInfo { get; set; }
|
||||
|
||||
public static ReceiveFriendApplyInfo ReceiveFriendApplyInfo { get; set; }
|
||||
|
||||
public static SendFriendApplyInfo SendFriendApplyInfo { get; set; }
|
||||
|
||||
public static EmblemInfo EmblemInfo { get; set; }
|
||||
|
||||
public static DegreeInfo DegreeInfo { get; set; }
|
||||
|
||||
public static SearchUserInfo SearchUserInfo { get; set; }
|
||||
|
||||
public static RankingPeriodList RankingPeriodList { get; set; }
|
||||
|
||||
public static Dictionary<Format, MonthlyRanking> RankingRankMatchClassInfo { get; set; }
|
||||
|
||||
public static Dictionary<Format, MonthlyRanking> RankingMasterInfo { get; set; }
|
||||
|
||||
public static MonthlyRanking RankingTwoPickInfo { get; set; }
|
||||
|
||||
public static MonthlyRanking RankingSealedInfo { get; set; }
|
||||
|
||||
public static Dictionary<int, MyMasterPointHistories> RankingMasterMyHistories { get; set; }
|
||||
|
||||
public static TwoPickInfo TwoPickInfo { get; set; }
|
||||
|
||||
public static Entry TwoPickEntry { get; set; }
|
||||
|
||||
public static RoomTwoPickInfo RoomTwoPickInfo { get; set; }
|
||||
|
||||
public static RoomTwoPickBeforeBattleInfo RoomTwoPickBeforeBattleInfo { get; set; }
|
||||
|
||||
public static RoomTwoPickMultiDeckInfo RoomTwoPickMultiDeckInfo { get; set; }
|
||||
|
||||
public static DoMatchingResponse TwoPickDoMatching { get; set; }
|
||||
|
||||
public static Finish ArenaBattleFinish { get; set; }
|
||||
|
||||
public static ItemAcquireHistoryInfo ItemAcquireHistoryInfo { get; set; }
|
||||
|
||||
public static PracticeDataMgr PracticeDataMgr { get; set; }
|
||||
|
||||
public static PracticeFinish PracticeFinish { get; set; }
|
||||
|
||||
public static PracticePuzzleFinishData PracticePuzzleFinishData { get; set; }
|
||||
|
||||
public static GenerateDeckCode GenerateDeckCode { get; set; }
|
||||
|
||||
public static GetDeckDataFromCode DeckDataFromDeckCode { get; set; }
|
||||
|
||||
public static InviteFriendBattle InviteFriendBattle { get; set; }
|
||||
|
||||
public static InitializeRoomBattle InitializeRoomBattle { get; set; }
|
||||
|
||||
public static ReplayInfo ReplayInfo { get; set; }
|
||||
|
||||
public static ReplayDetailInfo ReplayBattleInfo { get; set; }
|
||||
|
||||
public static BattleRecoveryInfo BattleRecoveryInfo { get; set; }
|
||||
|
||||
public static VoteData VoteInfo { get; set; }
|
||||
|
||||
public static List<DeckGroup> DeckGroupDataBase { get; set; } = new List<DeckGroup>();
|
||||
|
||||
public static List<NetworkDefine.MAINTENANCE_TYPE> MaintenanceCodeList { get; private set; } = null;
|
||||
|
||||
public static Crossover Crossover { get; private set; } = null;
|
||||
|
||||
public static MyRotationAllInfo MyRotationAllInfo { get; set; } = null;
|
||||
|
||||
public static AvatarBattleAllInfo AvatarBattleAllInfo { get; set; } = null;
|
||||
|
||||
public static TreasureBoxCp TreasureBoxCp { get; set; } = null;
|
||||
|
||||
public static Format CurrentFormat
|
||||
{
|
||||
get
|
||||
{
|
||||
return _currentFormat;
|
||||
}
|
||||
set
|
||||
{
|
||||
if (value == Format.Hof)
|
||||
{
|
||||
_currentFormat = Format.Max;
|
||||
}
|
||||
else
|
||||
{
|
||||
_currentFormat = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsBattlePassPeriod { get; private set; }
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
Master = new Master();
|
||||
ShopMaster = new Mastershop();
|
||||
SystemText = new SystemText();
|
||||
Load = new Load();
|
||||
MyPage = new MyPage();
|
||||
MyPageNotifications = new MyPageNotifications();
|
||||
RankMatchFinish = new RankMatchFinish();
|
||||
FreeMatchFinish = new FreeMatchFinish();
|
||||
DoMatchingDetail = new DoMatchingData();
|
||||
AIBattleStartData = new AIBattleStartData();
|
||||
ColosseumBattleFinish = new ColosseumBattleFinish();
|
||||
CompetitionBattleFinish = new CompetitionBattleFinish();
|
||||
RoomMatchFinish = new RoomMatchFinish();
|
||||
RoomBattleMatching = new RoomBattleMatching();
|
||||
SelectedStoryInfo = null;
|
||||
StoryWorldDataManager = new StoryWorldDataManager();
|
||||
StoryInfo = new StoryInfo();
|
||||
StoryFinish = new StoryFinish();
|
||||
StoryLeaderSelect = new StoryLeaderSelect();
|
||||
QuestMissionInfo = new QuestMissionInfo();
|
||||
QuestFinish = new QuestFinish();
|
||||
ArenaData = new ArenaData();
|
||||
MailTop = new MailTop();
|
||||
ReadMail = new ReadMail();
|
||||
PackInfo = new PackInfo();
|
||||
PackOpen = new PackOpen();
|
||||
SleevePurchaseInfo = new SleevePurchaseInfo();
|
||||
SkinPurchaseInfo = new SkinPurchaseInfo();
|
||||
BuildDeckPurchaseInfo = new BuildDeckPurchaseInfo();
|
||||
ItemPurchaseInfo = new ItemPurchaseInfo();
|
||||
EmptyDeckInfo = new EmptyDeckInfo();
|
||||
FriendInfo = new FriendInfo();
|
||||
PlayedTogetherInfo = new PlayedTogetherInfo();
|
||||
ReceiveFriendApplyInfo = new ReceiveFriendApplyInfo();
|
||||
SendFriendApplyInfo = new SendFriendApplyInfo();
|
||||
User = new User();
|
||||
UserConfig = new UserConfig();
|
||||
UserTutorial = new UserTutorial();
|
||||
MissionInfo = new MissionInfo();
|
||||
AchievementInfo = new AchievementInfo();
|
||||
EmblemInfo = new EmblemInfo();
|
||||
DegreeInfo = new DegreeInfo();
|
||||
SearchUserInfo = new SearchUserInfo();
|
||||
RankingRankMatchClassInfo = new Dictionary<Format, MonthlyRanking>();
|
||||
RankingMasterInfo = new Dictionary<Format, MonthlyRanking>();
|
||||
RankingMasterMyHistories = new Dictionary<int, MyMasterPointHistories>();
|
||||
TwoPickInfo = new TwoPickInfo();
|
||||
TwoPickEntry = new Entry();
|
||||
TwoPickDoMatching = new DoMatchingResponse();
|
||||
ArenaBattleFinish = new Finish();
|
||||
RoomTwoPickInfo = new RoomTwoPickInfo();
|
||||
RoomTwoPickBeforeBattleInfo = new RoomTwoPickBeforeBattleInfo();
|
||||
RoomTwoPickMultiDeckInfo = new RoomTwoPickMultiDeckInfo();
|
||||
PracticeDataMgr = new PracticeDataMgr(null);
|
||||
PracticeFinish = new PracticeFinish();
|
||||
PracticePuzzleFinishData = new PracticePuzzleFinishData();
|
||||
ItemAcquireHistoryInfo = new ItemAcquireHistoryInfo();
|
||||
GenerateDeckCode = new GenerateDeckCode();
|
||||
DeckDataFromDeckCode = new GetDeckDataFromCode();
|
||||
InviteFriendBattle = new InviteFriendBattle();
|
||||
InitializeRoomBattle = new InitializeRoomBattle();
|
||||
ReplayInfo = new ReplayInfo();
|
||||
CurrentFormat = Format.Max;
|
||||
MaintenanceCodeList = null;
|
||||
DeckGroupDataBase = new List<DeckGroup>();
|
||||
Crossover = new Crossover();
|
||||
MyRotationAllInfo = new MyRotationAllInfo();
|
||||
TreasureBoxCp = new TreasureBoxCp();
|
||||
}
|
||||
|
||||
public static void Clear()
|
||||
{
|
||||
Master = null;
|
||||
ShopMaster = null;
|
||||
SystemText = null;
|
||||
Load = null;
|
||||
MyPage = null;
|
||||
MyPageNotifications = null;
|
||||
RankMatchFinish = null;
|
||||
FreeMatchFinish = null;
|
||||
AIBattleStartData = null;
|
||||
DoMatchingDetail = null;
|
||||
SelectedStoryInfo = null;
|
||||
StoryWorldDataManager = null;
|
||||
StoryInfo = null;
|
||||
StoryFinish = null;
|
||||
QuestMissionInfo = null;
|
||||
QuestFinish = null;
|
||||
ArenaData = null;
|
||||
MailTop = null;
|
||||
ReadMail = null;
|
||||
PackInfo = null;
|
||||
PackOpen = null;
|
||||
SleevePurchaseInfo = null;
|
||||
SkinPurchaseInfo = null;
|
||||
BuildDeckPurchaseInfo = null;
|
||||
ItemPurchaseInfo = null;
|
||||
EmptyDeckInfo = null;
|
||||
FriendInfo = null;
|
||||
PlayedTogetherInfo = null;
|
||||
ReceiveFriendApplyInfo = null;
|
||||
SendFriendApplyInfo = null;
|
||||
User = null;
|
||||
UserConfig = null;
|
||||
UserTutorial = null;
|
||||
MissionInfo = null;
|
||||
AchievementInfo = null;
|
||||
EmblemInfo = null;
|
||||
DegreeInfo = null;
|
||||
SearchUserInfo = null;
|
||||
RankingPeriodList = null;
|
||||
RankingRankMatchClassInfo = null;
|
||||
RankingMasterInfo = null;
|
||||
RankingTwoPickInfo = null;
|
||||
RankingSealedInfo = null;
|
||||
RankingMasterMyHistories = null;
|
||||
TwoPickInfo = null;
|
||||
TwoPickEntry = null;
|
||||
TwoPickDoMatching = null;
|
||||
ArenaBattleFinish = null;
|
||||
RoomTwoPickInfo = null;
|
||||
RoomTwoPickBeforeBattleInfo = null;
|
||||
RoomTwoPickMultiDeckInfo = null;
|
||||
ItemAcquireHistoryInfo = null;
|
||||
PracticeDataMgr = null;
|
||||
PracticeFinish = null;
|
||||
PracticePuzzleFinishData = null;
|
||||
InitializeRoomBattle = null;
|
||||
ReplayInfo = null;
|
||||
CurrentFormat = Format.Max;
|
||||
BattleRecoveryInfo = null;
|
||||
MaintenanceCodeList = null;
|
||||
DeckGroupDataBase = new List<DeckGroup>();
|
||||
Crossover = null;
|
||||
MyRotationAllInfo = null;
|
||||
TreasureBoxCp = null;
|
||||
CardMaster.DeleteAllInstance();
|
||||
PlayerStaticData.Clear();
|
||||
Prerelease.Clear();
|
||||
DeckGroupDataBase.Clear();
|
||||
}
|
||||
|
||||
public static int FormatConvertApi(Format format)
|
||||
{
|
||||
switch (format)
|
||||
{
|
||||
case Format.Rotation:
|
||||
case Format.Max:
|
||||
return 1;
|
||||
case Format.Unlimited:
|
||||
return 2;
|
||||
case Format.PreRotation:
|
||||
return 3;
|
||||
case Format.Crossover:
|
||||
return 4;
|
||||
case Format.Sealed:
|
||||
return 20;
|
||||
case Format.TwoPick:
|
||||
return 10;
|
||||
case Format.Hof:
|
||||
return 31;
|
||||
case Format.All:
|
||||
return 0;
|
||||
case Format.Windfall:
|
||||
return 33;
|
||||
case Format.MyRotation:
|
||||
case Format.Avatar:
|
||||
return (int)format;
|
||||
default:
|
||||
UnityEngine.Debug.LogWarning("不明なフォーマットが指定されています:" + format);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
public static Format ParseApiFormat(int format)
|
||||
{
|
||||
switch (format)
|
||||
{
|
||||
case 1:
|
||||
return Format.Rotation;
|
||||
case 2:
|
||||
return Format.Unlimited;
|
||||
case 3:
|
||||
return Format.PreRotation;
|
||||
case 4:
|
||||
return Format.Crossover;
|
||||
case 10:
|
||||
return Format.TwoPick;
|
||||
case 20:
|
||||
return Format.Sealed;
|
||||
case 31:
|
||||
return Format.Hof;
|
||||
case 33:
|
||||
return Format.Windfall;
|
||||
case 5:
|
||||
case 39:
|
||||
return (Format)format;
|
||||
case 0:
|
||||
return Format.Max;
|
||||
default:
|
||||
UnityEngine.Debug.LogWarning("不明なフォーマットが指定されています:" + format);
|
||||
return Format.Max;
|
||||
}
|
||||
}
|
||||
|
||||
public static void ParseMaintenance(JsonData mentenanceList)
|
||||
{
|
||||
MaintenanceCodeList = new List<NetworkDefine.MAINTENANCE_TYPE>();
|
||||
for (int i = 0; i < mentenanceList.Count; i++)
|
||||
{
|
||||
MaintenanceCodeList.Add((NetworkDefine.MAINTENANCE_TYPE)mentenanceList[i].ToInt());
|
||||
}
|
||||
}
|
||||
|
||||
public static void UpdateMaintenance(List<NetworkDefine.MAINTENANCE_TYPE> checkList, List<NetworkDefine.MAINTENANCE_TYPE> maintenanceList)
|
||||
{
|
||||
for (int i = 0; i < checkList.Count; i++)
|
||||
{
|
||||
MaintenanceCodeList.Remove(checkList[i]);
|
||||
if (maintenanceList.Contains(checkList[i]))
|
||||
{
|
||||
MaintenanceCodeList.Add(checkList[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void ParseIsBattlePassPeriod(JsonData data)
|
||||
{
|
||||
IsBattlePassPeriod = data["is_battle_pass_period"].ToBoolean();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user