From fc54dac081b539b5f68244ed3e355c0c050613eb Mon Sep 17 00:00:00 2001 From: gamer147 Date: Sat, 6 Jun 2026 00:31:29 -0400 Subject: [PATCH] =?UTF-8?q?port(m1):=20wave=207a=20=E2=80=94=20namespace-a?= =?UTF-8?q?ware=20ProcessingBase=20collapses=20Story=20SelectionProcessing?= =?UTF-8?q?=20cluster=20(198->190)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Story chapter-selection processing subsystem is duplicated across two namespaces (…SelectionProcessing.Main and .BattleResult), each with its own ProcessingBase : IProcessing + Parameter. m1_genstub keyed output by bare type name, so only ONE ProcessingBase.g.cs was emitted (BattleResult), and m1_baseclauses cross-qualified the Main leaves to BattleResult.ProcessingBase — making it impossible to give IProcessing its real members (Execute(Main.Parameter) ≠ inherited Execute(BattleResult.Parameter) → CS0535). Now both ProcessingBase variants are generated via the namespace-aware tooling (__.g.cs), baseclauses resolves each leaf to its same-namespace ProcessingBase, and both IProcessing interfaces carry NextProcessing + Execute. 8 IProcessing CS1061 cleared, no CS0535 introduced. Co-Authored-By: Claude Opus 4.8 --- ...terSelection.SelectionProcessing.BattleResult.g.cs} | 2 +- ...tory.ChapterSelection.SelectionProcessing.Main.g.cs | 10 ++++++++++ SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs | 10 +++++----- SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs | 6 +++++- SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs | 6 +++++- 5 files changed, 26 insertions(+), 8 deletions(-) rename SVSim.BattleEngine/Shim/Generated/{ProcessingBase.g.cs => ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.g.cs} (78%) create mode 100644 SVSim.BattleEngine/Shim/Generated/ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.Main.g.cs diff --git a/SVSim.BattleEngine/Shim/Generated/ProcessingBase.g.cs b/SVSim.BattleEngine/Shim/Generated/ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.g.cs similarity index 78% rename from SVSim.BattleEngine/Shim/Generated/ProcessingBase.g.cs rename to SVSim.BattleEngine/Shim/Generated/ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.g.cs index 399e49d..de3c0eb 100644 --- a/SVSim.BattleEngine/Shim/Generated/ProcessingBase.g.cs +++ b/SVSim.BattleEngine/Shim/Generated/ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.g.cs @@ -1,4 +1,4 @@ -// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23\Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult\ProcessingBase.cs +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23/Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult/ProcessingBase.cs namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class ProcessingBase diff --git a/SVSim.BattleEngine/Shim/Generated/ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.Main.g.cs b/SVSim.BattleEngine/Shim/Generated/ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.Main.g.cs new file mode 100644 index 0000000..5056b33 --- /dev/null +++ b/SVSim.BattleEngine/Shim/Generated/ProcessingBase__Wizard.Story.ChapterSelection.SelectionProcessing.Main.g.cs @@ -0,0 +1,10 @@ +// AUTO-GENERATED no-op stubs (m1_stub_gen) from Shadowverse_Code_2026-05-23/Wizard.Story.ChapterSelection.SelectionProcessing.Main/ProcessingBase.cs +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main +{ +public partial class ProcessingBase +{ + public IProcessing NextProcessing { get; set; } + public void Execute(Parameter param) { } + protected void ExecuteNextProcessing(Parameter param) { } +} +} diff --git a/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs b/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs index 2ee532a..bebe908 100644 --- a/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs +++ b/SVSim.BattleEngine/Shim/Generated/_BaseClauses.g.cs @@ -44,7 +44,7 @@ namespace Wizard.UI.Dialog { public partial class DialogContactMenu : MonoBehavi namespace Wizard.UI.Dialog { public partial class DialogSpeedChallenge : MonoBehaviour { } } namespace Wizard.UI.Dialog { public partial class DialogSpeedChallengeResult : MonoBehaviour { } } namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class Download : ProcessingBase { } } -namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class DownloadConfirmDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class DownloadConfirmDialogDisplay : ProcessingBase { } } namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { public partial class DownloadInfoGetter : ProcessingBase { } } namespace Wizard.Battle.UI { public partial class DragonInfomationUI : ClassInfomationUIBase { } } namespace Wizard.Battle.View.Vfx { public partial class DrawSpecialTokenVfx : SpreadOutVfx { } } @@ -152,10 +152,10 @@ namespace Wizard.Battle.View.Vfx { public partial class StartSummonCardVfx : Sta namespace Wizard.Battle.View.Vfx { public partial class StopArrowMoveVfx : VfxBase { } } namespace Wizard.Battle.View.Vfx { public partial class StopEvolutionChoiceEffectVfx : VfxBase { } } namespace Wizard.Battle.View.Vfx { public partial class StopEvolutionTargetFocasVfx : VfxBase { } } -namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class StoryStarter : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } -namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SubChapterSelectionDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class StoryStarter : ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SubChapterSelectionDialogDisplay : ProcessingBase { } } namespace Wizard { public partial class SubChapterStorySectionBtn : MonoBehaviour { } } -namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SummaryDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class SummaryDialogDisplay : ProcessingBase { } } namespace Wizard.Battle.View.Vfx { public partial class SummonCardPreperationVfx : SequentialVfxPlayer { } } namespace Wizard.Battle.View.Vfx { public partial class SummonCardShakeCameraVfx : SequentialVfxPlayer { } } namespace Wizard.Battle.View.Vfx { public partial class SummonUnitOverflowVfx : SequentialVfxPlayer { } } @@ -165,7 +165,7 @@ namespace Wizard.Battle.View.Vfx { public partial class ThinkIconHideVfx : Seque namespace Wizard.Battle.View.Vfx { public partial class ThinkIconShowVfx : SequentialVfxPlayer { } } namespace Wizard.Battle.View.Vfx { public partial class TurnStartEvolveVfx : SequentialVfxPlayer { } } namespace Wizard.Battle.Tutorial { public partial class TutorialBattleMgrBase : BattleManagerBase { } } -namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class TutorialStoryStarter : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.ProcessingBase { } } +namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { public partial class TutorialStoryStarter : ProcessingBase { } } namespace Wizard.Battle.View { public partial class UnitBattleCardView : BattleCardView { } } namespace Wizard.Battle.View.Vfx { public partial class UnitCardVfxCreator : CardVfxCreatorBase { } } namespace Wizard.Battle.View.Vfx { public partial class UpdateEpVfx : VfxBase { } } diff --git a/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs b/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs index b4a987b..5b52a0e 100644 --- a/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs +++ b/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs @@ -90,7 +90,11 @@ namespace DeckBuilder namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult { - public interface IProcessing { } + public interface IProcessing + { + IProcessing NextProcessing { get; set; } + void Execute(Parameter param); + } public class Parameter { } } diff --git a/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs b/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs index 87258c3..b0d9cb3 100644 --- a/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs +++ b/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs @@ -18,7 +18,11 @@ namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main { // Parallel to the BattleResult submodule (already shimmed); some copied files // `using` this Main module and reference these unqualified. - public interface IProcessing { } + public interface IProcessing + { + IProcessing NextProcessing { get; set; } + void Execute(Parameter param); + } public class Parameter { } }