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,102 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Wizard.DeckCardEdit;
namespace Wizard;
public class ConventionCrossoverFormatBehavior : IFormatBehavior
{
private ConventionDeckList _conventionDeckList;
public string Name => UIUtil.GetFormatName(Format.Crossover);
public string SmallIconSpriteName => "icon_crossover_s";
public CardMaster.CardMasterId CardMasterId => CardMaster.CardMasterId.Default;
public GenerateDeckCodeTask.SubmitDeckType DeckCodeType => GenerateDeckCodeTask.SubmitDeckType.Crossover;
public bool ExistsRestrictedCard => true;
public List<int> SortedDeckUsableCardList => CardMaster.GetInstance(CardMasterId).GetAllCardIds();
public int DeckCardNumMin => DeckCardNumMax;
public int DeckCardNumMax => 40;
public int DeckSameKindCardNumMax => 3;
public int DeckSavableCardNumMax => 50;
public bool IsShowDeckName => true;
public bool IsEmphasizeDeckCardShortage => false;
public bool IsEmphasizeDeckCardOverage => true;
public bool IsSavableLastSelectDeck => true;
public bool CanShowQRCode => true;
public bool IsShowFirstTipsAtDeckEdit => true;
public bool IsShowAutoDeckCreateButtonAtDeckEdit => true;
public bool IsCraftableCardAtDeckEdit => false;
public UIManager.ViewScene DeckEditBackScene => UIManager.ViewScene.DeckList;
public Action<CardBundleController> DeckSaveFunc => null;
public bool UseSubClass => true;
public bool IsConventionMode => true;
public List<CardSetName> AvailableCardSetNameList => (from id in Data.Crossover.CardSetIdList.Distinct()
select Data.Master.CardSetNameMgr.Get(id.ToString())).ToList();
public bool IsShowPrizeCardSetFilter => true;
public bool IsShowPhantomCardSetFilter => false;
public bool IsShowFormatFilter => false;
public bool IsShowFavoriteFilter => true;
public bool IsShowSpotCardFilter => false;
public ConventionCrossoverFormatBehavior(ConventionDeckList conventionDeckList)
{
_conventionDeckList = conventionDeckList;
}
public bool IsEnableDeckShareButton(int cardNum, int cardNumMax)
{
return cardNum == DeckCardNumMax;
}
public IDictionary<int, int> GetCardPool(bool isIncludingSpotCard)
{
return _conventionDeckList.CardPool;
}
public int GetPossessionCardNum(int cardId, bool isIncludingSpotCard)
{
if (_conventionDeckList.CardPool.ContainsKey(cardId))
{
return _conventionDeckList.CardPool[cardId];
}
return 0;
}
public Dictionary<int, int> ClonePossessionCardDictionary(bool isIncludingSpotCard)
{
return new Dictionary<int, int>(_conventionDeckList.CardPool);
}
public int GetPossessionBaseCardNum(int baseCardId, bool isIncludingSpotCard)
{
return DataMgr.GetPossessionBaseCardNum(baseCardId, _conventionDeckList.CardPool, CardMasterId);
}
}