port(m1): wave 7a — namespace-aware ProcessingBase collapses Story SelectionProcessing cluster (198->190)

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
(<Type>__<Namespace>.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 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-06 00:31:29 -04:00
parent 6e9c5c059f
commit fc54dac081
5 changed files with 26 additions and 8 deletions

View File

@@ -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

View File

@@ -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) { }
}
}

View File

@@ -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 { } }

View File

@@ -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 { }
}

View File

@@ -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 { }
}