feat(battle-engine): close the AI-simulation subsystem (verbatim)

Copied the 89 uncopied AI*SimulationUtility/extension files defining the
AIVirtualCard/AIVirtualField extension methods; the compile loop then auto-closed
the revealed type deps (~3049 files total, drift-clean). 10.0k -> 62 errors.
This commit is contained in:
gamer147
2026-06-05 20:30:59 -04:00
parent 78f310c2b3
commit 824309ec44
472 changed files with 55870 additions and 0 deletions

View File

@@ -0,0 +1,130 @@
using System.Collections;
using System.Collections.Generic;
using LitJson;
namespace Wizard;
public class DeckIntroductionTask : BaseTask
{
public class IntroductionData
{
public DeckData Deck { get; private set; }
public string PlayerName { get; private set; }
public string Detail { get; private set; }
public int TopCardId { get; private set; }
public IntroductionData(DeckData deck, string playerName, string detail, int topCardId)
{
Deck = deck;
PlayerName = playerName;
Detail = detail;
TopCardId = topCardId;
}
}
public class IntroductionDataTaskParam : BaseParam
{
public int series_id;
}
public List<IntroductionData> _result = new List<IntroductionData>();
public Dictionary<Format, string> AlternativeFormatAndSeries;
public List<int> ResultDeckSeriesIdList { get; private set; }
public List<string> ResultDeckSeriesNameList { get; private set; }
public List<bool> IsTimeSlipRotationList { get; private set; }
public int DisplaySeriesId { get; private set; }
public Format DisplayFormat { get; private set; }
public void SetParameter(int series_id)
{
IntroductionDataTaskParam introductionDataTaskParam = new IntroductionDataTaskParam();
introductionDataTaskParam.series_id = series_id;
base.Params = introductionDataTaskParam;
}
public DeckIntroductionTask()
{
base.type = ApiType.Type.DeckIntroduction;
}
protected override int Parse()
{
int num = base.Parse();
if (num != 1)
{
return num;
}
JsonData jsonData = base.ResponseData["data"];
DisplaySeriesId = jsonData["series_id"].ToInt();
DisplayFormat = Data.ParseApiFormat(jsonData["display_format"].ToInt());
JsonData jsonData2 = jsonData["display_deck_list"];
for (int i = 0; i < jsonData2.Count; i++)
{
JsonData jsonData3 = jsonData2[i];
DeckData deckData = new DeckData();
deckData.Initialize(jsonData3);
string playerName = jsonData3["player_name"].ToString();
string detail = jsonData3["introduction"].ToString();
int topCardId = jsonData3["thumbnail_card_id"].ToInt();
IntroductionData item = new IntroductionData(deckData, playerName, detail, topCardId);
_result.Add(item);
}
ResultDeckSeriesIdList = new List<int>();
ResultDeckSeriesNameList = new List<string>();
IsTimeSlipRotationList = new List<bool>();
JsonData jsonData4 = jsonData["series_list"];
for (int j = 0; j < jsonData4.Count; j++)
{
JsonData jsonData5 = jsonData4[j];
int item2 = jsonData5["series_id"].ToInt();
string item3 = jsonData5["series_name"].ToString();
bool item4 = jsonData5["is_ts_rotation"].ToInt() == 1;
ResultDeckSeriesIdList.Add(item2);
ResultDeckSeriesNameList.Add(item3);
IsTimeSlipRotationList.Add(item4);
}
if (jsonData.TryGetValue("alternative_list", out var value))
{
AlternativeFormatAndSeries = new Dictionary<Format, string>();
foreach (JsonData item5 in (IEnumerable)value)
{
Format key = Data.ParseApiFormat(item5["alternative_format"].ToInt());
AlternativeFormatAndSeries[key] = item5["alternative_series_name"].ToString();
}
}
return num;
}
public bool IsExistClass(CardBasePrm.ClanType classType, Format format)
{
for (int i = 0; i < _result.Count; i++)
{
if (_result[i].Deck.GetDeckClassID() == (int)classType && _result[i].Deck.Format == format)
{
return true;
}
}
return false;
}
public bool IsExistFormat(Format format)
{
for (int i = 0; i < _result.Count; i++)
{
if (_result[i].Deck.Format == format)
{
return true;
}
}
return false;
}
}