From 755f7fd14880e921c770e2620732cd8315760569 Mon Sep 17 00:00:00 2001 From: gamer147 Date: Fri, 5 Jun 2026 23:50:10 -0400 Subject: [PATCH] =?UTF-8?q?port(m1):=20wave=206b=20=E2=80=94=20View=20base?= =?UTF-8?q?=20members=20+=20app-type=20stubs=20(772->696)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - BattleCardView shim: GameObject, HandFrameEffect, GetCurrentIconLayout (fixes Player/EnemyClassBattleCardView.GameObject inheritance). - BattlePlayerViewBase.AlwaysShowStatusPanel; NullBattleCardView.ReleaseSharedDummy. - EvolutionTouchProcessor: 4 events (OnFocus/Unfocus/Select/NotSelect Target) hand-added — m1_stub_gen drops `event` decls. - Generated full-surface stubs: StoryWorldDataManager, GenerateDeckCode, GameSetup, CommonPrefabContainer, ApplicationFinishManager, EvolutionConfirmation, ReplayDataHandler (hand stubs -> partial). - Closure pulled by StoryWorldDataManager full-surface: 4 verbatim copies (StoryChapter/Summary/LeaderSelect dialogs, ClassIconName) + empty stubs StoryWorldData/BattleRecovery/ResourceDownloader/TemporaryAssetDeleter (non-battle, signature-only). Co-Authored-By: Claude Opus 4.8 --- SVSim.BattleEngine/COPIED.manifest.tsv | 4 + .../Engine/Wizard/ClassIconName.cs | 20 ++ .../Engine/Wizard/StoryChapterSelectDialog.cs | 35 ++++ .../Wizard/StoryLeaderSelectSummaryDialog.cs | 76 +++++++ .../Engine/Wizard/StorySummaryDialog.cs | 195 ++++++++++++++++++ .../Generated/ApplicationFinishManager.g.cs | 22 ++ .../Shim/Generated/CommonPrefabContainer.g.cs | 20 ++ .../Shim/Generated/EvolutionConfirmation.g.cs | 15 ++ .../Shim/Generated/GameSetup.g.cs | 19 ++ .../Shim/Generated/GenerateDeckCode.g.cs | 8 + .../Shim/Generated/ReplayDataHandler.g.cs | 41 ++++ .../Shim/Generated/StoryWorldDataManager.g.cs | 22 ++ .../Shim/Generated/_BaseClauses.g.cs | 2 + .../Shim/GodObjects/GodObjects.cs | 2 +- SVSim.BattleEngine/Shim/View/ClosureStubs.cs | 2 +- .../Shim/View/SettingsUiStubs.cs | 15 +- .../Shim/View/StoryTitleStubs.cs | 4 +- .../Shim/View/ViewUiTouchStubs.cs | 15 +- 18 files changed, 508 insertions(+), 9 deletions(-) create mode 100644 SVSim.BattleEngine/Engine/Wizard/ClassIconName.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard/StoryChapterSelectDialog.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard/StoryLeaderSelectSummaryDialog.cs create mode 100644 SVSim.BattleEngine/Engine/Wizard/StorySummaryDialog.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/ApplicationFinishManager.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/CommonPrefabContainer.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/EvolutionConfirmation.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/GameSetup.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/GenerateDeckCode.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/ReplayDataHandler.g.cs create mode 100644 SVSim.BattleEngine/Shim/Generated/StoryWorldDataManager.g.cs diff --git a/SVSim.BattleEngine/COPIED.manifest.tsv b/SVSim.BattleEngine/COPIED.manifest.tsv index 2c5e382..b0efd46 100644 --- a/SVSim.BattleEngine/COPIED.manifest.tsv +++ b/SVSim.BattleEngine/COPIED.manifest.tsv @@ -2554,6 +2554,7 @@ Wizard\ChoiceTagCollection.cs Wizard\ChoiceTagCollection.cs ee83f8d599d0592e679c Wizard\ChoiceVirtualCard.cs Wizard\ChoiceVirtualCard.cs 8c1d30ba976b4c2f78da58bd6d53b38bbe255e39de2320ea2ff629d24d2800d6 0 Wizard\ClashBonusTagCollection.cs Wizard\ClashBonusTagCollection.cs 2290a26a5cf6378f6dbaaa730edc33893fe4b3a19257f6f0a69e297ff3f07a71 0 Wizard\ClassCharacterMasterData.cs Wizard\ClassCharacterMasterData.cs ccf929714e0900b6f422d46da6de8cb3c0702258ceb314509b6d7beac112fa93 0 +Wizard\ClassIconName.cs Wizard\ClassIconName.cs 772d7f4192b116e8e1ef6def1557db1dd6fd4311c877e7fe7d5d65a9c38e386f 0 Wizard\ClassInfoParts.cs Wizard\ClassInfoParts.cs 75b6923688f22d49ddc97db55ecb6daae2c8c4d444ccfaae66625d85ce35e208 0 Wizard\ClassInfomationOrder.cs Wizard\ClassInfomationOrder.cs 885f4c62c3d6f3e026f95c4f83830f634bbbcfe4c74352d763bfb992ce21e4e8 0 Wizard\ClassSelectionButton.cs Wizard\ClassSelectionButton.cs e54b6667dcf47f83bdb242337ba8d6744ddef3d8a7111201da5e83fa62475450 0 @@ -3207,13 +3208,16 @@ Wizard\StarterClassSelectDialog.cs Wizard\StarterClassSelectDialog.cs 3522461bbc Wizard\StarterPurchaseConfirmationDialog.cs Wizard\StarterPurchaseConfirmationDialog.cs b71ac292410e536bbdf302395b6b8584d500a40746167ad1ab885229cbfe2ecc 0 Wizard\StoryAISettingData.cs Wizard\StoryAISettingData.cs 14402dc36fa4ae13f154c8110141087145efb387c94292f7a5102dd3b671151d 0 Wizard\StoryAISettingDataSet.cs Wizard\StoryAISettingDataSet.cs 76693a53b4022593dd67cd8d08b41c2ab7647d8b3663176b13909ca0e6c11900 0 +Wizard\StoryChapterSelectDialog.cs Wizard\StoryChapterSelectDialog.cs 8641e53edaddaa635c44318d5969d85bde8ce3ed4e49bb801d5a9a962bbe97da 0 Wizard\StoryFinishTask.cs Wizard\StoryFinishTask.cs dbf0508b3638ac87b55872f060f672960b38de3c2cabcf6d8bdd3499047d4643 0 +Wizard\StoryLeaderSelectSummaryDialog.cs Wizard\StoryLeaderSelectSummaryDialog.cs 3e366ec91739ae387804c5f6212c1dd98934fb3da94fe069a99b629a46895712 0 Wizard\StoryLeaderSelectTask.cs Wizard\StoryLeaderSelectTask.cs d2b54bde8e3ef4f32c07e68b05f30e09991ebc9b59578110603d29374130be44 0 Wizard\StoryNotification.cs Wizard\StoryNotification.cs 2031e97ce2caa711e695a8ca6b372e9c43c4957e890d274a857887d387eb2808 0 Wizard\StorySectionBtn.cs Wizard\StorySectionBtn.cs 4c5017f7a46c2aadf025f170455524a7fbcdaf230357f103411171a21d2e67b9 0 Wizard\StorySectionSummaryDialog.cs Wizard\StorySectionSummaryDialog.cs 2592e979478669a865bccc1f2dcfd8943d38248f4f93e842c58cac1fc2125455 0 Wizard\StorySectionTask.cs Wizard\StorySectionTask.cs f0bb589fd600a447d375f42b1653ccc12c6225016bc00a53e6977520ee648653 0 Wizard\StorySelectPage.cs Wizard\StorySelectPage.cs 9f24b2f8f98fd01b416272fbd6653d2a4394e94276813dbe4392144e459c831e 0 +Wizard\StorySummaryDialog.cs Wizard\StorySummaryDialog.cs bb46317567e6879b90f7752051b09039c5795bcf25af63fadfdcbcfcca99e80b 0 Wizard\SubClassSelectDialog.cs Wizard\SubClassSelectDialog.cs ce9eed6444e38ddd10eb305755b400808395d861621442d60553e91e46b6351f 0 Wizard\SummonTagCollection.cs Wizard\SummonTagCollection.cs 584ee636f3d8826973893728e77f5a72cc4c4b608357b6bccb993f17abf46976 0 Wizard\SummonedVirtualCard.cs Wizard\SummonedVirtualCard.cs 26483c1445ad0f95167e6cfd6cc8d719e87fb20d231d2215ee13d6adc1e3c145 0 diff --git a/SVSim.BattleEngine/Engine/Wizard/ClassIconName.cs b/SVSim.BattleEngine/Engine/Wizard/ClassIconName.cs new file mode 100644 index 0000000..49d0472 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard/ClassIconName.cs @@ -0,0 +1,20 @@ +using UnityEngine; + +namespace Wizard; + +public class ClassIconName : MonoBehaviour +{ + [SerializeField] + private UILabel _labelClassName; + + [SerializeField] + private UISprite _spriteClassIcon; + + public void SetClass(int classId) + { + ClassCharacterMasterData charaPrmByClassId = GameMgr.GetIns().GetDataMgr().GetCharaPrmByClassId(classId); + _labelClassName.text = charaPrmByClassId._className; + ClassCharaPrm.SetClassLabelSetting(_labelClassName, charaPrmByClassId.clan); + _spriteClassIcon.spriteName = ClassCharaPrm.GetIconSpriteName(charaPrmByClassId.clan); + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard/StoryChapterSelectDialog.cs b/SVSim.BattleEngine/Engine/Wizard/StoryChapterSelectDialog.cs new file mode 100644 index 0000000..e97ff65 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard/StoryChapterSelectDialog.cs @@ -0,0 +1,35 @@ +using System; +using System.Linq; +using UnityEngine; + +namespace Wizard; + +public class StoryChapterSelectDialog : MonoBehaviour +{ + [SerializeField] + private GameObject _originalObject; + + [SerializeField] + private Transform _objRoot; + + [SerializeField] + private UILabel _descriptionText; + + public void Initialize(ScenarioSummary scenarioSummary, StoryChapterData chapterData, Action unitReadAction, Action allReadAction) + { + string chapterId = chapterData.ChapterId; + _descriptionText.text = Data.SystemText.Get("Story_0074", chapterId, chapterData.NextChapterId); + _originalObject.gameObject.SetActive(value: false); + bool isExistMaintenanceSubChapter = chapterData.SubChapterDatas.Any((StoryChapterData.SubChapterData item) => item.IsMaintenanceChapter); + GameObject obj = UnityEngine.Object.Instantiate(_originalObject, _objRoot); + obj.SetActive(value: true); + obj.GetComponent().AllRead(allReadAction, chapterData.AllReadButtonPath, isExistMaintenanceSubChapter); + foreach (StoryChapterData.SubChapterData subChapterData in chapterData.SubChapterDatas) + { + GameObject obj2 = UnityEngine.Object.Instantiate(_originalObject, _objRoot); + obj2.SetActive(value: true); + obj2.GetComponent().UnitRead(scenarioSummary.GetData(chapterId, subChapterData.SubChapterId), subChapterData, unitReadAction); + } + _objRoot.GetComponent().Reposition(); + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard/StoryLeaderSelectSummaryDialog.cs b/SVSim.BattleEngine/Engine/Wizard/StoryLeaderSelectSummaryDialog.cs new file mode 100644 index 0000000..7cd7fe8 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard/StoryLeaderSelectSummaryDialog.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Cute; +using UnityEngine; + +namespace Wizard; + +public class StoryLeaderSelectSummaryDialog : StorySummaryDialog +{ + [SerializeField] + private GameObject _charaSelectionButton; + + [SerializeField] + private UISprite _selectMarkSprite; + + [SerializeField] + private UIGrid _charaButtonGrid; + + private List _loadPathList = new List(); + + private List _charaSelectionButtons = new List(); + + private ClassSelectionButton _selectCharaSelectionButton; + + private TweenAlpha _selectMarkTweenAlpha; + + private Action _selectCharaAction; + + public void SetLeaderSelectSummary(string summary, bool isBattleSkipToggle, bool isMovieSubtitles, StoryChapterData chapterData, Action selectCharaAction) + { + _selectCharaAction = selectCharaAction; + _selectMarkTweenAlpha = _selectMarkSprite.GetComponent(); + List _classCharacterMasterDatas = new List(); + foreach (int charaId in chapterData.CharaIdList) + { + _classCharacterMasterDatas.Add(GameMgr.GetIns().GetDataMgr().GetCharaPrmByCharaId(charaId)); + } + ResourcesManager resMgr = Toolbox.ResourcesManager; + foreach (ClassCharacterMasterData item in _classCharacterMasterDatas) + { + _loadPathList.Add(resMgr.GetAssetTypePath(item.skin_id.ToString(), ResourcesManager.AssetLoadPathType.ClassCharaButton)); + } + StartCoroutine(resMgr.LoadAssetGroupAsync(_loadPathList, delegate + { + SetSummary(summary, isBattleSkipToggle, isMovieSubtitles, chapterData, SummaryType.CharaSelect); + _charaSelectionButton.gameObject.SetActive(value: false); + foreach (ClassCharacterMasterData item2 in _classCharacterMasterDatas) + { + ClassSelectionButton component = UnityEngine.Object.Instantiate(_charaSelectionButton, _charaSelectionButton.transform.parent).GetComponent(); + component.gameObject.SetActive(value: true); + component.Init(item2, resMgr.LoadObject(resMgr.GetAssetTypePath(item2.skin_id.ToString(), ResourcesManager.AssetLoadPathType.ClassCharaButton, isfetch: true)), OnClickCharaButton, isShowStoryClearLabel: false, isShowUsedLabel: false, showNotificationIcon: false); + _charaSelectionButtons.Add(component); + } + _charaButtonGrid.Reposition(); + SelectChara(_charaSelectionButtons.First()); + })); + } + + private void OnClickCharaButton(ClassSelectionButton classButton) + { + GameMgr.GetIns().GetSoundMgr().PlaySe(Se.TYPE.SYS_TOGGLE_ON); + SelectChara(classButton); + } + + private void SelectChara(ClassSelectionButton charaButton) + { + if (!(_selectCharaSelectionButton == charaButton)) + { + _selectCharaSelectionButton = charaButton; + _selectMarkSprite.transform.position = charaButton.transform.position; + _selectMarkTweenAlpha.PlayPingPong(isIncreaseAlpha: false); + _selectCharaAction(_selectCharaSelectionButton.ClassCharacterMasterData); + } + } +} diff --git a/SVSim.BattleEngine/Engine/Wizard/StorySummaryDialog.cs b/SVSim.BattleEngine/Engine/Wizard/StorySummaryDialog.cs new file mode 100644 index 0000000..67b39d3 --- /dev/null +++ b/SVSim.BattleEngine/Engine/Wizard/StorySummaryDialog.cs @@ -0,0 +1,195 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace Wizard; + +public class StorySummaryDialog : MonoBehaviour +{ + public enum SummaryType + { + SummaryOnly, + ClassNameList, + CharaSelect + } + + private readonly Vector3 SUMMARY_LABEL_POS = Vector3.zero; + + private readonly Vector3 SUMMARY_LABEL_POS_BATTLESKIP = new Vector3(0f, 52f, 0f); + + private readonly Vector3 SUMMARY_LABEL_POS_CLASSLIST = new Vector3(0f, 62f, 0f); + + private readonly Vector3 SUMMARY_LABEL_POS_CHARALIST = new Vector3(0f, 131f, 0f); + + private readonly Vector3 SUMMARY_LABEL_POS_BATTLESKIP_CLASSLIST = new Vector3(0f, 96f, 0f); + + private readonly Vector3 SUMMARY_LABEL_POS_BATTLESKIP_CHARALIST = new Vector3(0f, 131f, 0f); + + private readonly Vector3 CLASS_PARENT_POS = new Vector3(0f, -70f, 0f); + + private readonly Vector3 CLASS_PARENT_POS_BATTLESKIP = Vector3.zero; + + private readonly Vector3 CHARA_PARENT_POS = new Vector3(0f, -53f, 0f); + + private readonly Vector3 CHARA_LINE_POS = new Vector3(0f, 24f, 0f); + + [SerializeField] + private UILabel _summaryLabel; + + [SerializeField] + private GameObject _toggleParent; + + [SerializeField] + private UIToggle _toggleSingle; + + [SerializeField] + private UILabel _labelToggleSingle; + + [SerializeField] + private UIToggle _toggleBattleSkip; + + [SerializeField] + private UIToggle _toggleMovieSubtitles; + + [SerializeField] + private GameObject _iconObjectParent; + + [SerializeField] + private UITable _classIconNameTable_1; + + [SerializeField] + private UITable _classIconNameTable_2; + + [SerializeField] + private ClassIconName _classIconNameOriginal; + + [SerializeField] + private GameObject _charaSlectLineObject; + + private SummaryType _summaryType; + + public void SetSummary(string summary, bool isBattleSkipToggle, bool isMovieSubtitles, StoryChapterData chapterData, SummaryType summaryType) + { + _summaryType = summaryType; + SetToggleButtons(isBattleSkipToggle, isMovieSubtitles); + bool flag = isBattleSkipToggle || isMovieSubtitles; + _summaryLabel.height = (flag ? 208 : 264); + _summaryLabel.SetWrapText(summary); + switch (_summaryType) + { + case SummaryType.SummaryOnly: + SetLayoutSummaryOnly(flag); + break; + case SummaryType.ClassNameList: + SetLayoutClassNameList(flag, chapterData); + break; + case SummaryType.CharaSelect: + SetLayoutCharaSelect(flag); + break; + } + } + + public void SetLayoutSummaryOnly(bool isToggle) + { + _iconObjectParent.gameObject.SetActive(value: false); + _summaryLabel.transform.localPosition = (isToggle ? SUMMARY_LABEL_POS_BATTLESKIP : SUMMARY_LABEL_POS); + } + + public void SetLayoutClassNameList(bool isToggle, StoryChapterData chapterData) + { + SetAbleDeckClassList(chapterData.AvailableDeckClassList); + _iconObjectParent.gameObject.SetActive(value: true); + _summaryLabel.transform.localPosition = (isToggle ? SUMMARY_LABEL_POS_BATTLESKIP_CLASSLIST : SUMMARY_LABEL_POS_CLASSLIST); + _iconObjectParent.transform.localPosition = (isToggle ? CLASS_PARENT_POS_BATTLESKIP : CLASS_PARENT_POS); + } + + public void SetLayoutCharaSelect(bool isToggle) + { + _summaryLabel.transform.localPosition = (isToggle ? SUMMARY_LABEL_POS_BATTLESKIP_CHARALIST : SUMMARY_LABEL_POS_CHARALIST); + if (!isToggle) + { + _iconObjectParent.transform.localPosition = CHARA_PARENT_POS; + _charaSlectLineObject.transform.localPosition = CHARA_LINE_POS; + } + } + + private void SetToggleButtons(bool isBattleSkip, bool isMovieSubtitles) + { + if (!isBattleSkip && !isMovieSubtitles) + { + _toggleParent.SetActive(value: false); + return; + } + _toggleParent.SetActive(value: true); + _toggleSingle.gameObject.SetActive(value: false); + _toggleBattleSkip.gameObject.SetActive(value: false); + _toggleMovieSubtitles.gameObject.SetActive(value: false); + if (isBattleSkip && isMovieSubtitles) + { + SetBattleSkipToggle(_toggleBattleSkip); + SetMovieSubtitlesToggle(_toggleMovieSubtitles); + } + else if (isBattleSkip) + { + SetBattleSkipToggle(_toggleSingle); + _labelToggleSingle.text = Data.SystemText.Get("Story_0035"); + } + else if (isMovieSubtitles) + { + SetMovieSubtitlesToggle(_toggleSingle); + _labelToggleSingle.text = Data.SystemText.Get("OtherConfig_0064"); + } + } + + private void SetBattleSkipToggle(UIToggle toggle) + { + toggle.gameObject.SetActive(value: true); + toggle.value = PlayerPrefsWrapper.GetBool(PlayerPrefsWrapper.IS_SKIP_CLEARED_STORY_BATTLE); + bool isFirst = true; + EventDelegate.Add(toggle.onChange, delegate + { + if (!isFirst) + { + GameMgr.GetIns().GetSoundMgr().PlayToggleSe(toggle.value); + } + isFirst = false; + PlayerPrefsWrapper.SetBool(PlayerPrefsWrapper.IS_SKIP_CLEARED_STORY_BATTLE, toggle.value); + }); + } + + private void SetMovieSubtitlesToggle(UIToggle toggle) + { + toggle.gameObject.SetActive(value: true); + toggle.value = PlayerPrefsWrapper.GetBool(PlayerPrefsWrapper.MOVIE_SUBTITLES); + bool isFirst = true; + EventDelegate.Add(toggle.onChange, delegate + { + if (!isFirst) + { + GameMgr.GetIns().GetSoundMgr().PlayToggleSe(toggle.value); + } + isFirst = false; + PlayerPrefsWrapper.SetBool(PlayerPrefsWrapper.MOVIE_SUBTITLES, toggle.value); + }); + } + + private void SetAbleDeckClassList(List classIds) + { + _classIconNameOriginal.gameObject.SetActive(value: false); + _classIconNameTable_1.gameObject.SetActive(value: true); + if (classIds.Count > _classIconNameTable_1.columns) + { + _classIconNameTable_2.gameObject.SetActive(value: true); + } + else + { + _classIconNameTable_2.gameObject.SetActive(value: false); + } + for (int i = 0; i < classIds.Count; i++) + { + ClassIconName classIconName = null; + classIconName = ((i >= _classIconNameTable_1.columns) ? NGUITools.AddChild(_classIconNameTable_2.gameObject, _classIconNameOriginal.gameObject).GetComponent() : NGUITools.AddChild(_classIconNameTable_1.gameObject, _classIconNameOriginal.gameObject).GetComponent()); + classIconName.SetClass(classIds[i]); + classIconName.gameObject.SetActive(value: true); + } + } +} diff --git a/SVSim.BattleEngine/Shim/Generated/ApplicationFinishManager.g.cs b/SVSim.BattleEngine/Shim/Generated/ApplicationFinishManager.g.cs new file mode 100644 index 0000000..4c74f5a --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/ApplicationFinishManager.g.cs @@ -0,0 +1,22 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard\ApplicationFinishManager.cs +using System.Diagnostics; +using Cute; +using UnityEngine; +using Wizard.Battle.View.Vfx; +using Wizard.Dialog.Setting; +namespace Wizard +{ +public partial class ApplicationFinishManager +{ + private DialogBase _keyOpenMenuDialog; + private static bool _canQuit; + private DialogBase _quitDialog; + private const int QUIT_DIALOG_SORTING_ORDER = 3; + public DialogBase QuitDialog { get; set; } + public static bool CanQuit { get; set; } + public static void ApplicationQuit() { } + public bool WantsToQuit() => default!; + public bool IsQuitDialog() => default!; + public void HandleEscapeDialog() { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/CommonPrefabContainer.g.cs b/SVSim.BattleEngine/Shim/Generated/CommonPrefabContainer.g.cs new file mode 100644 index 0000000..cef25bc --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/CommonPrefabContainer.g.cs @@ -0,0 +1,20 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Story.ChapterSelection\CommonPrefabContainer.cs +using UnityEngine; +namespace Wizard.Story.ChapterSelection +{ +public partial class CommonPrefabContainer +{ + private CharaInfoPanel _charaInfoPanelPrefab; + private SectionInfoPanel _sectionInfoPanelPrefab; + private AreaSelInfo _chapterRewardPanelPrefab; + private StoryChapterSelectDialog _subChapterSelectionDialogPrefab; + private StorySummaryDialog _summaryDialogPrefab; + private StoryLeaderSelectSummaryDialog _summaryWithCharaSelectionDialogPrefab; + public CharaInfoPanel CharaInfoPanelPrefab { get; set; } + public SectionInfoPanel SectionInfoPanelPrefab { get; set; } + public AreaSelInfo ChapterRewardPanelPrefab { get; set; } + public StoryChapterSelectDialog SubChapterSelectionDialogPrefab { get; set; } + public StorySummaryDialog SummaryDialogPrefab { get; set; } + public StoryLeaderSelectSummaryDialog SummaryWithCharaSelectionDialogPrefab { get; set; } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/EvolutionConfirmation.g.cs b/SVSim.BattleEngine/Shim/Generated/EvolutionConfirmation.g.cs new file mode 100644 index 0000000..fc09bcd --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/EvolutionConfirmation.g.cs @@ -0,0 +1,15 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Battle.UI\EvolutionConfirmation.cs +using UnityEngine; +using Wizard.Battle.View.Vfx; +namespace Wizard.Battle.UI +{ +public partial class EvolutionConfirmation +{ + private DialogBase _dialog; + public bool IsPossibleToClose { get; set; } + public GameObject ConfirmationButton { get; set; } + public EvolutionConfirmation(Transform parent) { } + public DialogBase Show(BattlePlayer battlePlayer) => default!; + private VfxBase Hide() => global::Wizard.Battle.View.Vfx.NullVfx.GetInstance(); +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/GameSetup.g.cs b/SVSim.BattleEngine/Shim/Generated/GameSetup.g.cs new file mode 100644 index 0000000..3cc0f3f --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/GameSetup.g.cs @@ -0,0 +1,19 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Title\GameSetup.cs +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +namespace Wizard.Title +{ +public partial class GameSetup +{ + private TemporaryAssetDeleter _temporaryAssetDeleter; + private UserInfoRequest m_userInfoRequest; + private ResourceDownloader m_assetDownloader; + private readonly BattleRecovery _battleRecovery; + private MonoBehaviour m_coroutineObj; + public bool IsRunning { get; set; } + public GameSetup(MonoBehaviour coroutineObj) { } + public IEnumerator StartSetup() => default!; +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/GenerateDeckCode.g.cs b/SVSim.BattleEngine/Shim/Generated/GenerateDeckCode.g.cs new file mode 100644 index 0000000..ed028a9 --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/GenerateDeckCode.g.cs @@ -0,0 +1,8 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\DeckBuilder\GenerateDeckCode.cs +namespace DeckBuilder +{ +public partial class GenerateDeckCode +{ + public string deck_code; +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/ReplayDataHandler.g.cs b/SVSim.BattleEngine/Shim/Generated/ReplayDataHandler.g.cs new file mode 100644 index 0000000..414f23e --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/ReplayDataHandler.g.cs @@ -0,0 +1,41 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.RoomMatch\ReplayDataHandler.cs +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using LitJson; +using UnityEngine; +namespace Wizard.RoomMatch +{ +public partial class ReplayDataHandler +{ + private const float WAIT_TIME_SKILL_SELECT_START = 0f; + private const float WAIT_TIME_SKILL_SELECT_CARD = 0.5f; + private const float WAIT_TIME_SKILL_SELECT_CANCEL = 0.5f; + private const float WAIT_TIME_SKILL_SELECT_COMPLETE = 1f; + private const float WAIT_TIME_SKILL_CHOICE_START = 0f; + private const float WAIT_TIME_SKILL_CHOICE_SELECT = 0.2f; + private const float WAIT_TIME_SKILL_CHOICE_CANCEL = 0.5f; + private const float WAIT_TIME_SKILL_CHOICE_COMPLETE = 1f; + private const float WAIT_TIME_SKILL_FUSION_START = 0.5f; + private const float WAIT_TIME_SKILL_FUSION_SELECT = 0.5f; + private const float WAIT_TIME_SKILL_FUSION_COMPLETE = 1f; + private readonly List ReplayExceptUriList; + private readonly List _moveTurnConductOperationType; + private readonly List notResetForwardReplayOperationList; + private NetworkReplayBattleMgr _networkReplayBattleMgr; + private JsonData _stockReceiveReplayOperations; + private int _operationIndex; + public void SetOperationIndex(int index) { } + public ReplayDataHandler(NetworkWatchBattleMgr nBattleMgr, RoomConnectController room, float waitTime, bool isNewReplay, string battleId) : base(nBattleMgr, room, waitTime, isNewReplay, battleId) { } + protected void Setup(NetworkWatchBattleMgr nBattleMgr, RoomConnectController room, float waitTime) { } + public void Stop() { } + protected void ParseBattleWatchData(Dictionary received) { } + protected void CheckConnection() { } + protected IEnumerator StockDataPlayer() => default!; + private IEnumerator NewStockDataPlayer() => default!; + private void ResetForwardReplay(Dictionary frontData) { } + private float GetWaitTimeForSelectSkill(Dictionary frontData) => default!; +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/StoryWorldDataManager.g.cs b/SVSim.BattleEngine/Shim/Generated/StoryWorldDataManager.g.cs new file mode 100644 index 0000000..9356cf5 --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/StoryWorldDataManager.g.cs @@ -0,0 +1,22 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Story\StoryWorldDataManager.cs +using System; +using System.Collections.Generic; +using System.Linq; +using LitJson; +namespace Wizard.Story +{ +public partial class StoryWorldDataManager +{ + private static readonly string WORLD_LIST_KEY; + private static readonly int TUTORIAL_BACKGROUND_ID; + public IReadOnlyList WorldDatas { get; set; } + public IReadOnlyList SectionDatas { get; set; } + public void SetData(JsonData jsonData) { } + private static List GetWorldDatas(JsonData jsonData) => default!; + private static StorySectionData[] GetSectionDatas(IReadOnlyList worldDatas) => default!; + private static StorySectionData[] GetSectionDatas(JsonData jsonData) => default!; + public StoryWorldData FindWorldDataByWorldId(int worldId) => default!; + public StoryWorldData FindWorldDataBySectionId(int sectionId) => default!; + public StorySectionData FindSectionData(int sectionId) => default!; +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs b/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs index 0a28cb4..502aa41 100644 --- a/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs +++ b/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs @@ -27,6 +27,7 @@ namespace Wizard.Battle.Touch { public partial class ChoiceBraveTouchProcessor : namespace Wizard.Battle.View.Vfx { public partial class Class3dEvolveVfx : EvolveVfx { } } namespace Wizard.Battle.View.Vfx { public partial class ClassCardVfxCreatorBase : CardVfxCreatorBase { } } namespace Wizard.UI.Profile { public partial class ClassPage : Page { } } +namespace Wizard.Story.ChapterSelection { public partial class CommonPrefabContainer : MonoBehaviour { } } namespace Wizard.Battle.View.Vfx { public partial class CostChangeVfx : VfxWithLoadingSequential { } } namespace Wizard.Battle.View.Vfx { public partial class DamageVfx : DamageVfxBase { } } namespace Wizard.Battle.View.Vfx { public partial class DamageVfxBase : SequentialVfxPlayer { } } @@ -123,6 +124,7 @@ namespace Wizard.Battle.View.Vfx { public partial class RecoveryEvolveVfx : Evol namespace Wizard.Battle.View.Vfx { public partial class RefreshAttackVfx : VfxBase { } } namespace Wizard.Battle.View.Vfx { public partial class RefreshHealthVfx : VfxBase { } } namespace Wizard.Battle.View.Vfx { public partial class RemoveChantCountVfx : VfxBase { } } +namespace Wizard.RoomMatch { public partial class ReplayDataHandler : WatchDataHandler { } } namespace Wizard.Battle.UI { public partial class ReplayMoveTurnWindow : MonoBehaviour { } } namespace Wizard.Battle.View.Vfx { public partial class ReturnCardVfx : SequentialVfxPlayer { } } namespace Wizard.RoomMatch { public partial class RoomBase : MonoBehaviour { } } diff --git a/SVSim.BattleEngine/Shim/GodObjects/GodObjects.cs b/SVSim.BattleEngine/Shim/GodObjects/GodObjects.cs index 887c3d6..589c906 100644 --- a/SVSim.BattleEngine/Shim/GodObjects/GodObjects.cs +++ b/SVSim.BattleEngine/Shim/GodObjects/GodObjects.cs @@ -148,5 +148,5 @@ namespace Wizard public partial class LoadingViewManager { } public partial class AccountTransferHelper { } public class DialogManager { } - public class ApplicationFinishManager { } + public partial class ApplicationFinishManager { } } diff --git a/SVSim.BattleEngine/Shim/View/ClosureStubs.cs b/SVSim.BattleEngine/Shim/View/ClosureStubs.cs index ecece54..0079eb3 100644 --- a/SVSim.BattleEngine/Shim/View/ClosureStubs.cs +++ b/SVSim.BattleEngine/Shim/View/ClosureStubs.cs @@ -32,7 +32,7 @@ namespace Wizard.RoomMatch { // referenced as field/param types by the watch/replay controller shells (off battle path). public class TwoPickWatchData { } - public class ReplayDataHandler { } + public partial class ReplayDataHandler { } } namespace Wizard.Battle.View.Vfx diff --git a/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs b/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs index e716aca..bfda19c 100644 --- a/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs +++ b/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs @@ -49,7 +49,7 @@ namespace Wizard.Battle.View // Decomp bases (dropped by the hand stub): both derive from BattleCardView, which // carries the IBattleCardView impl — so they convert to IBattleCardView via it. public abstract class ClassBattleCardViewBase : BattleCardView { } - public class NullBattleCardView : BattleCardView { } + public class NullBattleCardView : BattleCardView { public static void ReleaseSharedDummy() { } } } namespace Wizard.Battle.View.Vfx @@ -83,7 +83,7 @@ namespace Wizard.UI.LoginBonus namespace DeckBuilder { - public class GenerateDeckCode { } + public partial class GenerateDeckCode { } public partial class GetDeckDataFromCode { } } @@ -108,7 +108,16 @@ namespace Wizard.Story { public enum StoryApiType { None, MainStory, LimitedStory, EventStory } public partial class SelectedStoryInfo { } - public sealed class StoryWorldDataManager { } + public partial class StoryWorldDataManager { } + public sealed class StoryWorldData { } // signature-only type pulled by StoryWorldDataManager full-surface (non-battle) +} + +namespace Wizard.Title +{ + // ITitleProc impls pulled by full-surface stubs; referenced as signature types only (non-battle). + public class BattleRecovery { } + public class ResourceDownloader { } + public class TemporaryAssetDeleter { } } namespace BestHTTP.SocketIO diff --git a/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs b/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs index 9d5bee2..15f5777 100644 --- a/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs +++ b/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs @@ -10,7 +10,7 @@ namespace Wizard.Story namespace Wizard.Story.ChapterSelection { - public class CommonPrefabContainer { } + public partial class CommonPrefabContainer { } public class TitlePanelBase { } } @@ -30,7 +30,7 @@ namespace Wizard.UIFriend public virtual void SetPlayerData(Friend.PlayerData in_PlayerData, System.Collections.Generic.List in_LoadList) { } } } -namespace Wizard.Title { public class GameSetup { } } +namespace Wizard.Title { public partial class GameSetup { } } namespace Wizard.RoomMatch { public class Player { } } // ---- namespace anchors (referenced via `using`) ---- diff --git a/SVSim.BattleEngine/Shim/View/ViewUiTouchStubs.cs b/SVSim.BattleEngine/Shim/View/ViewUiTouchStubs.cs index 2198588..4c9daa6 100644 --- a/SVSim.BattleEngine/Shim/View/ViewUiTouchStubs.cs +++ b/SVSim.BattleEngine/Shim/View/ViewUiTouchStubs.cs @@ -12,11 +12,15 @@ namespace Wizard.Battle.View { public class BuildInfo { } // AttackTargetSelectInfo provided by Generated/BattleCardView_AttackTargetSelectInfo.g.cs + public virtual UnityEngine.GameObject GameObject { get; protected set; } + public HandCardFrameEffectControl HandFrameEffect { get; private set; } + public static HandParameter.IconLayout GetCurrentIconLayout() => default!; } public partial class NonDialogPopup : UnityEngine.MonoBehaviour { } // Close() in Generated/NonDialogPopup.g.cs public abstract class BattlePlayerViewBase { public enum BattleDialogItem { Menu, Retire } + public static bool AlwaysShowStatusPanel => true; } public partial class InPlayCardFrameEffectControl { } } @@ -34,13 +38,20 @@ namespace Wizard.Battle.UI public partial class AvatarBattleBonusItem : UnityEngine.MonoBehaviour { } public partial class BossRushEnemySpecialSkillItem : UnityEngine.MonoBehaviour { } public partial class MyRotationBonusItem : UnityEngine.MonoBehaviour { } - public class EvolutionConfirmation { } + public partial class EvolutionConfirmation { } } namespace Wizard.Battle.Touch { public partial class SkillTargetSelectTouchProcessor { } - public partial class EvolutionTouchProcessor { } + public partial class EvolutionTouchProcessor + { + // events dropped by m1_stub_gen (generator does not capture `event` decls) + public event global::System.Func OnFocusTarget; + public event global::System.Func OnUnfocusTarget; + public event global::System.Func OnSelectTarget; + public event global::System.Action OnNotSelectTarget; + } public partial class SetCardProcessor { } public partial class EvolutionSimpleProcessor { } public partial class EmotionTouchProcessor { }