Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/AIVirtualFieldRollBackRecord.cs
gamer147 0d9d8acae0 feat(battle-engine): M1 auto-copy closure (782 battle-logic files)
Compile-driven bulk-copy loop (tools/engine-port/m1_copy_loop.py) pulled the precise reference closure of the battle-core roots, stopping at the classify god-object/View-VFX-UI boundary. 782 files; no re-explosion (M0 had estimated ~order 1000). Residual frontier = 52 shim-classified + 80 external (Unity/BCL) types to author next.
2026-06-05 16:57:20 -04:00

89 lines
2.3 KiB
C#

using System.Collections.Generic;
namespace Wizard;
public class AIVirtualFieldRollBackRecord
{
public class CardParamRecord
{
public int Cost;
public int SpellBoost;
public bool IsDead;
public int WhiteRitualCount;
public List<AIActivateCounter> ActivateCounterList;
public CardParamRecord(AIVirtualCard card)
{
Cost = card.Cost;
SpellBoost = card.SpellboostCount;
IsDead = card.IsDead;
WhiteRitualCount = card.WhiteRitualCount;
ActivateCounterList = null;
if (card.TagCollectionContainer.HasTagCollection(TagCollectionType.ActivateCount))
{
ActivateCounterList = card.TagCollectionContainer.ActivateCountTags.CreateCloneCounterList();
}
}
}
public class CemeteryRecord
{
public int AllyCemetery;
public int EnemyCemetery;
public CemeteryRecord(AIVirtualCemetery cemetery)
{
AllyCemetery = cemetery.GetCemeteryCount(isAlly: true);
EnemyCemetery = cemetery.GetCemeteryCount(isAlly: false);
}
}
public class PlayedCardContainerRecord
{
public int AllyTurnPlayedCardCount;
public int AllyInGamePlayedCardCount;
public PlayedCardContainerRecord(AIPlayedCardContainer container)
{
AllyTurnPlayedCardCount = container.AllyTurnPlayedCardCount;
AllyInGamePlayedCardCount = container.AllyInGamePlayedCardCount;
}
}
public List<CardParamRecord> CardRecordList;
public CemeteryRecord Cemetery;
public bool IsNotInstantAttack;
public int AllyNecromancedCountInGame;
public int AllyAddedDeckCountInGame;
public int AllySummonedCardCount;
public PlayedCardContainerRecord PlayedCardContainer;
public AIVirtualFieldRollBackRecord(AIVirtualField field)
{
CardRecordList = new List<CardParamRecord>();
List<AIVirtualCard> allReferableCards = field.CardListSet.AllReferableCards;
for (int i = 0; i < allReferableCards.Count; i++)
{
CardRecordList.Add(new CardParamRecord(allReferableCards[i]));
}
Cemetery = new CemeteryRecord(field.VirtualCemetery);
PlayedCardContainer = new PlayedCardContainerRecord(field.PlayedCardContainer);
IsNotInstantAttack = field.IsNoInstantAttack;
AllyNecromancedCountInGame = field.AllyNecromancedCountInGame;
AllyAddedDeckCountInGame = field.AllyGameAddUpdateDeckCards.Count;
AllySummonedCardCount = field.SummonedCardContainer.AllyTurnSummonedListCount;
}
}