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,87 @@
using System.Collections.Generic;
using Wizard.RoomMatch;
namespace Wizard;
public class GatheringEntrySetting
{
public GatheringRule Rule { get; private set; }
public List<DeckData> DeckList { get; set; }
public GatheringEntrySetting(GatheringRule rule)
{
Rule = rule;
int num = RoomConnectController.RuleSelectDeckCount(rule.BattleParameterInstance.Rule);
DeckList = new List<DeckData>();
for (int i = 0; i < num; i++)
{
DeckData deckData = new DeckData(rule.BattleParameterInstance.DeckFormat);
deckData.SetDeckID(i + 1);
DeckList.Add(deckData);
}
}
public DeckData GetDeck(int deckId)
{
return DeckList.Find((DeckData deck) => deck.GetDeckID() == deckId);
}
public void RemoveDeck(int deckId)
{
List<DeckData> deckList = DeckList;
int count = deckList.Count;
Format format = deckList[0].Format;
DeckList = new List<DeckData>();
for (int i = 0; i < count; i++)
{
if (deckList[i].GetDeckID() == deckId)
{
DeckData deckData = new DeckData(format);
deckData.SetDeckID(deckId);
DeckList.Add(deckData);
}
else
{
DeckList.Add(deckList[i]);
}
}
}
public void DeckOrderChange(List<int> order)
{
List<DeckData> deckList = DeckList;
int count = deckList.Count;
DeckList = new List<DeckData>();
foreach (int deckId in order)
{
int index = deckList.FindIndex((DeckData d) => d.GetDeckID() == deckId);
DeckList.Add(deckList[index]);
deckList.RemoveAt(index);
}
foreach (DeckData item in deckList)
{
DeckList.Add(item);
}
for (int num = 0; num < count; num++)
{
DeckList[num].SetDeckID(num + 1);
}
}
public bool IsEntryDeckOk()
{
foreach (DeckData deck in DeckList)
{
if (deck.IsNoCard())
{
return false;
}
if (!deck.GetDeckIsComplete())
{
return false;
}
}
return true;
}
}