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:
87
SVSim.BattleEngine/Engine/Wizard.Battle.Phase/ResultPhase.cs
Normal file
87
SVSim.BattleEngine/Engine/Wizard.Battle.Phase/ResultPhase.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using Cute;
|
||||
using Wizard.Battle.View.Vfx;
|
||||
|
||||
namespace Wizard.Battle.Phase;
|
||||
|
||||
public class ResultPhase : IResultPhase, IPhase
|
||||
{
|
||||
private readonly BattleManagerBase _battleMgr;
|
||||
|
||||
private readonly bool _winnerIsPlayer;
|
||||
|
||||
public event Action OnSetupEnd;
|
||||
|
||||
public ResultPhase(BattleManagerBase battleMgr, bool winnerIsPlayer)
|
||||
{
|
||||
_battleMgr = battleMgr;
|
||||
_winnerIsPlayer = winnerIsPlayer;
|
||||
}
|
||||
|
||||
public virtual VfxBase Setup()
|
||||
{
|
||||
_battleMgr.TurnPanelControl.GameObject.SetActive(value: false);
|
||||
SequentialVfxPlayer sequentialVfxPlayer = SequentialVfxPlayer.Create();
|
||||
DataMgr dataMgr = GameMgr.GetIns().GetDataMgr();
|
||||
if (dataMgr.m_BattleType == DataMgr.BattleType.BossRushQuest && !_battleMgr.BattleResultControl.AlreadyResultRecovery)
|
||||
{
|
||||
_battleMgr.BattleResultControl.AlreadyResultRecovery = true;
|
||||
ClassBattleCardBase classCard = _battleMgr.BattlePlayer.Class as ClassBattleCardBase;
|
||||
VfxBase vfx = (classCard.SkillApplyInformation as ClassSkillApplyInformation).GiveCombatValueModifier(null, new MaxLifeSetModifier(classCard.BossRushStartLife), null);
|
||||
sequentialVfxPlayer.Register(vfx);
|
||||
if (_winnerIsPlayer && dataMgr.BossRushBattleData != null && dataMgr.BossRushBattleData.RecoveryPointWhenFinish > 0)
|
||||
{
|
||||
EffectBattle effectBattle = null;
|
||||
SkillBase.WaitEffectLoadVfx loadingVfx = new SkillBase.WaitEffectLoadVfx("btl_magic_cure_2", EffectMgr.EngineType.SHURIKEN, "se_btl_magic_cure_2", classCard.ResourceMgr, delegate(EffectBattle eb)
|
||||
{
|
||||
effectBattle = eb;
|
||||
});
|
||||
DelaySetupVfx mainVfx = new DelaySetupVfx(() => new SkillEffectBattleVfx(effectBattle, classCard.BattleCardView, classCard.ResourceMgr, () => classCard.BattleCardView.GameObject.transform.position, () => classCard.BattleCardView.CardWrapObject.transform.position, 0f, 0f, EffectMgr.MoveType.DIRECT, EffectMgr.TargetType.SINGLE, isPlayer: true));
|
||||
VfxWithLoading vfxWithLoading = VfxWithLoading.Create(loadingVfx, mainVfx);
|
||||
BattleCardBase.HealParam healParam = new BattleCardBase.HealParam(dataMgr.BossRushBattleData.RecoveryPointWhenFinish, classCard, classCard);
|
||||
BattleCardBase.HealResult healResult = classCard.ApplyHealing(healParam, null);
|
||||
classCard.SkillApplyInformation.AddSkillHealValue(healResult.HealAmount);
|
||||
VfxWithLoadingSequential vfxWithLoadingSequential = VfxWithLoadingSequential.Create(healResult.PrehealVfxVfx, vfxWithLoading.MainVfx, healResult.HealVfx, healResult.PosthealVfxVfx);
|
||||
vfxWithLoadingSequential.RegisterToLoadingVfx(vfxWithLoading.LoadingVfx);
|
||||
sequentialVfxPlayer.Register(vfxWithLoadingSequential);
|
||||
}
|
||||
}
|
||||
sequentialVfxPlayer.Register(WaitVfx.Create(1f));
|
||||
sequentialVfxPlayer.Register(InstantVfx.Create(delegate
|
||||
{
|
||||
_battleMgr.MenuButtonObject.SetActive(value: false);
|
||||
if (!_battleMgr.BattleResultControl.IsResultOn)
|
||||
{
|
||||
_battleMgr.BattlePlayer.PlayerBattleView.AllClear();
|
||||
_battleMgr.BackGround.SetShaderGlobalColorBG.ChangeGlobalShaderColorFadeIn();
|
||||
_battleMgr.isStorySuccessful = (_winnerIsPlayer ? 1 : 0);
|
||||
_battleMgr.DetailMgr.DetailPanelControl.Hide();
|
||||
_battleMgr.BattlePlayer.PlayerBattleView.TurnEndButtonUI.HideBtn();
|
||||
_battleMgr.BattleResultControl.StartUI(_winnerIsPlayer, _battleMgr.Camera);
|
||||
_battleMgr.BattlePlayer.StatusPanelControl.HideUI();
|
||||
_battleMgr.BattleEnemy.StatusPanelControl.HideUI();
|
||||
_battleMgr.BattlePlayer.PlayerBattleView.TurnEndButtonUI.HideAnimation();
|
||||
_battleMgr.BattlePlayer.PlayerBattleView.HideChoiceBraveButton();
|
||||
_battleMgr.BattleEnemy.BattleEnemyView.HideChoiceBraveButton();
|
||||
GameMgr.GetIns().GetSoundMgr().StopBGM(null, 1f);
|
||||
this.OnSetupEnd.Call();
|
||||
}
|
||||
}));
|
||||
sequentialVfxPlayer.Register(ParallelVfxPlayer.Create(_battleMgr.BattlePlayer.BattleView.HandView.HandFocus(), _battleMgr.BattleEnemy.BattleView.HandView.HandFocus()));
|
||||
return sequentialVfxPlayer;
|
||||
}
|
||||
|
||||
public VfxWith<IPhase> Update(float dt)
|
||||
{
|
||||
return new VfxWith<IPhase>(NullVfx.GetInstance(), null);
|
||||
}
|
||||
|
||||
public VfxBase Teardown()
|
||||
{
|
||||
return NullVfx.GetInstance();
|
||||
}
|
||||
|
||||
public void Pause()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using Wizard.Battle.Mulligan;
|
||||
|
||||
namespace Wizard.Battle.Phase;
|
||||
|
||||
public class SingleMulliganPhase : MulliganPhaseBase
|
||||
{
|
||||
public SingleMulliganPhase(BattleManagerBase battleMgr)
|
||||
: base(battleMgr)
|
||||
{
|
||||
Initialize(new SingleMulliganMgr());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user