using System; using System.Collections.Generic; using Wizard.Battle.View.Vfx; public class RecoveryOperationCollection : WatchOperationCollection { public RecoveryOperationCollection(NetworkBattleManagerBase networkBattleMgr, OperateMgr operateMgr, NetworkBattleReceiver.ReceiveData receivedData, NetworkBattleData networkBattleData, bool isPlayer) : base(networkBattleMgr, operateMgr, receivedData, networkBattleData, isPlayer) { } public override void SecondMulliganOperation(Func, VfxBase> OnReceiveOpponentMulligan, Func, VfxBase> OnReceivePlayerMulligan, Func OnEndMulligan) { OperateMulligan(OnReceiveOpponentMulligan, OnReceivePlayerMulligan); BattleManagerBase.GetIns().BattlePlayer.IsTurnStartEffectNotFinished = true; _networkBattleMgr.VfxMgr.RegisterSequentialVfx(OnEndMulligan.GetAllFuncVfxResults()); } public override void PlayHandCardOperation(PlayHandCardReflection networkPlayCardAction, List choiceIdList = null, bool isChoice = false) { List actionDictionary = (_isPlayer ? _receivedData.PlayerTargetDataList : _receivedData.OpponentTargetDataList); BattlePlayerBase battlePlayer = _networkBattleMgr.GetBattlePlayer(_isPlayer); CommonPlayHandCardOperation(networkPlayCardAction, battlePlayer, _isPlayer, actionDictionary, choiceIdList, isChoice); } public override void PlaySkillSelectHandCardOperation(PlayHandCardReflection networkPlayCardAction, List choiceIds = null) { List targetDataList = (_isPlayer ? _receivedData.PlayerTargetDataList : _receivedData.OpponentTargetDataList); SetupNetworkPlayCardAction(networkPlayCardAction, targetDataList); _networkBattleMgr.VfxMgr.RegisterSequentialVfx(InstantVfx.Create(delegate { networkPlayCardAction.PlayAction(_isPlayer, choiceIds); })); } public override void BattleFinishOperation() { ((NetworkStandardBattleMgr)_networkBattleMgr)._recoveryController.RecoveryDataHandlerInstance.OnCompleteRecovery += base.BattleFinishOperation; } public override void TouchOperation() { } public override void SelectObjectOperation() { } public override void TurnEndReady() { } public override void SlideObject() { } protected override void PlayCancelSlide() { } protected override void CallCompleteEvent(ReceivePlayActionsReflectionBase networkAction) { } protected override void CheckStateAndCancel(PlayHandCardReflection networkPlayCardAction, InPlayCardReflection networkInPlayAction, bool isPlayer) { } protected override void RegisterSequentialVfx(VfxBase operationVfx) { } public override void SendEcho() { if (_networkBattleMgr._specialWinVfx == null) { _networkBattleMgr.ClearRegisterCardList(); } } }