Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/QuestDeckSelectConfirmDialog.cs
gamer147 824309ec44 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.
2026-06-05 20:30:59 -04:00

83 lines
3.4 KiB
C#

using Cute;
namespace Wizard;
public static class QuestDeckSelectConfirmDialog
{
public static void Create(DialogBase dialogDeckList, DeckData deck, bool isBattleAgain)
{
if (!deck.IsUsable())
{
InCompleteDeckDecideDialog.Create(dialogDeckList, deck);
return;
}
CompleteDeckDecideDialog completeDeckDecideDialog = CompleteDeckDecideDialog.CreateForSingleDeck(dialogDeckList, deck, showSimpleStageOption: false, delegate
{
DecideDeck(deck, isBattleAgain);
});
if (GameMgr.GetIns().GetDataMgr().QuestBattleData.IsMockBattle)
{
completeDeckDecideDialog.DecisionUI.SetText(string.Empty, string.Empty);
completeDeckDecideDialog.Dialog.SetText(Data.SystemText.Get("Quest_0026", deck.GetDeckName()));
}
}
public static void DecideDeck(DeckData deck, bool isBattleAgain)
{
GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_BTN_DECIDE_TRANS);
DataMgr dataMgr = GameMgr.GetIns().GetDataMgr();
dataMgr.Load();
DeckListUtility.DataMgrSaveLastSelectDeckData(deck);
dataMgr.SetEnemySleeveId(3000011L);
Data.CurrentFormat = deck.Format;
new QuestLastUsedDeckSaveDataManager().SaveDeck(dataMgr.QuestBattleData.QuestStageId, deck);
dataMgr.Load();
CardMaster.SetBattleCardMasterId(FormatBehaviorManager.GetDefaultBehaviour(deck.Format).CardMasterId);
if (isBattleAgain)
{
GameMgr.GetIns().GetSoundMgr().StopAllBGM(0.5f);
UIManager.GetInstance().CreatFadeClose(delegate
{
UIManager.GetInstance().StartCoroutine(BattleManagerBase.GetIns().GetBattleControl().BattleEnd(delegate
{
UIManager.GetInstance().CreatFadeOpen();
int enemyAiID = ((dataMgr.QuestBattleData != null) ? dataMgr.QuestBattleData.EnemyAiId : (-1));
dataMgr.SetEnemyCharaId(dataMgr.GetEnemyCharaId());
dataMgr.SetCurrentEnemyDeckDataFromAIDeck(dataMgr.GetEnemyClassId(), dataMgr.m_EnemyAIDifficulty, dataMgr.m_EnemyAILogicLevel, dataMgr.m_EnemyAIMaxLife, dataMgr.m_EnemyAIDeckId, dataMgr.m_EnemyAIStyleId, dataMgr.m_EnemyAIEmoteId, dataMgr.m_EnemyAIUseInnerEmote, enemyAiID);
dataMgr.LoadEnemyClassData();
ChangeQuestBattleScene();
}));
});
return;
}
QuestBattleData battleData = dataMgr.QuestBattleData;
dataMgr.SetEnemyCharaId(battleData.CharaId);
dataMgr.SetStoryBgmID(battleData.BgmId);
dataMgr.SetSoroPlay3DFieldID(battleData.Battle3dFieldID);
StoryAISettingData settingData = Data.Master.QuestAISettingList.GetSettingData(battleData.EnemyAiId);
UIManager.GetInstance().createInSceneCenterLoading();
Data.Master.LoadAICsv(new AICsvLoadingInfo(settingData.DeckId, settingData.StyleId, settingData.EmoteId), delegate
{
UIManager.GetInstance().closeInSceneCenterLoading();
dataMgr.SetQuestAILogicAndDeckData(battleData.EnemyClass, settingData.EnemyAiId);
dataMgr.LoadEnemyClassData();
ChangeQuestBattleScene();
});
}
private static void ChangeQuestBattleScene()
{
DataMgr dataMgr = GameMgr.GetIns().GetDataMgr();
QuestStartTask questStartTask = new QuestStartTask();
questStartTask.SetParameter(dataMgr.QuestBattleData.QuestStageId, dataMgr.QuestBattleData.ExtraDeckScheduleId);
UIManager.GetInstance().StartCoroutine(Toolbox.NetworkManager.Connect(questStartTask, delegate
{
UIManager.ChangeViewSceneParam param = new UIManager.ChangeViewSceneParam
{
IsShow_CardIntroduction = true
};
UIManager.GetInstance().ChangeViewScene(UIManager.ViewScene.Battle, param);
}));
}
}