Files
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

54 lines
1.9 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Wizard.Battle.View.Vfx;
namespace Wizard.Battle.Mulligan;
public class OpponentMulliganCtrl : MulliganCtrl
{
protected List<int> opponentIndexList = new List<int>();
protected bool _isHideCard = true;
public OpponentMulliganCtrl(BattlePlayerBase player, MulliganInfoControl mulliganInfo, bool isUseExchangeMark)
: base(player)
{
_mulliganView = new OpponentMulliganView(mulliganInfo, isUseExchangeMark);
_isHideCard = true;
}
public override VfxBase StartMulliganVfx(SkillProcessor skillProcessor)
{
BattlePlayerBase battlePlayer = GetBattlePlayer();
opponentIndexList = _LotMulliganCardIndex(battlePlayer.DeckCardList.Count);
_CreateMulliganCardList(opponentIndexList);
SequentialVfxPlayer sequentialVfxPlayer = SequentialVfxPlayer.Create();
sequentialVfxPlayer.Register(battlePlayer.BattleMgr.LoadCardResources(_firstDrawList));
sequentialVfxPlayer.Register(new EnemyMulliganDrawVfx(_firstDrawList, GetMulliganInfo()));
return sequentialVfxPlayer;
}
public override VfxBase SubmitMulliganVfx(IList<BattleCardBase> abandonCards)
{
_mulliganChangedNum = abandonCards.Count;
ParallelVfxPlayer parallelVfxPlayer = ParallelVfxPlayer.Create();
if (abandonCards.Count > 0)
{
parallelVfxPlayer.Register(_MulliganCardChange(abandonCards));
}
parallelVfxPlayer.Register(new DummyDeckRemoveCardVfx(isPlayer: false, 3));
parallelVfxPlayer.Register(_mulliganView.UpdateOpponentMulliganStatusLabel(abandonCards.Count));
return parallelVfxPlayer;
}
public List<int> GetOpponentIndexList()
{
return opponentIndexList;
}
protected override VfxBase _MulliganSwap(IDictionary<int, BattleCardBase> newList, IList<BattleCardBase> oldList)
{
return new EnemyMulliganSwapVfx(newList.Values.ToList(), newList.Keys.ToList(), oldList);
}
}