feat(battle-engine): re-attach interfaces dropped by base-clause recovery (958->838)
base-clause recovery strips interfaces (to dodge CS0535), but copied code converts the stubs to those interfaces -> ~120 CS0266/CS1503. Two mechanisms: - _IfaceImpl.g.cs: explicit no-op impls of the FULL (copied) interfaces, layered onto each hierarchy base (BattleCardView/CardVfxCreatorBase/BattlePlayerView/ BattleEnemyView/ClassInfomationUIBase + NullCardVfxCreator). Explicit form never collides with existing members; leaves inherit. Walks base-interface chains (IPlayerView : IBattlePlayerView) and emits events. - _InterfaceReattach.g.cs: plain ': IFoo' for the empty stub interfaces (IProcessing, IReplayRecordManager). - ClassBattleCardViewBase/NullBattleCardView: restore dropped BattleCardView base so they inherit its IBattleCardView impl. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
23
SVSim.BattleEngine/Shim/Generated/_InterfaceReattach.g.cs
Normal file
23
SVSim.BattleEngine/Shim/Generated/_InterfaceReattach.g.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
// AUTO-GENERATED (m1_iface_reattach) — re-attaches interfaces dropped by
|
||||
// base-clause recovery, demand-driven from conversion errors. Regenerate
|
||||
// after each build that still shows CS0266/CS1503 '-> I...' failures.
|
||||
|
||||
namespace Wizard.Battle.Replay {
|
||||
public partial class NullReplayRecordManager : global::Wizard.Battle.Replay.IReplayRecordManager { }
|
||||
public partial class ReplayRecordManager : global::Wizard.Battle.Replay.IReplayRecordManager { }
|
||||
}
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult {
|
||||
public partial class BattleStarter : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.IProcessing { }
|
||||
public partial class ChapterCharaDecider : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.IProcessing { }
|
||||
public partial class DeckSelectionConfirmDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.IProcessing { }
|
||||
public partial class DeckSelectionDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.IProcessing { }
|
||||
public partial class Download : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.IProcessing { }
|
||||
public partial class DownloadInfoGetter : global::Wizard.Story.ChapterSelection.SelectionProcessing.BattleResult.IProcessing { }
|
||||
}
|
||||
namespace Wizard.Story.ChapterSelection.SelectionProcessing.Main {
|
||||
public partial class DownloadConfirmDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.Main.IProcessing { }
|
||||
public partial class StoryStarter : global::Wizard.Story.ChapterSelection.SelectionProcessing.Main.IProcessing { }
|
||||
public partial class SubChapterSelectionDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.Main.IProcessing { }
|
||||
public partial class SummaryDialogDisplay : global::Wizard.Story.ChapterSelection.SelectionProcessing.Main.IProcessing { }
|
||||
public partial class TutorialStoryStarter : global::Wizard.Story.ChapterSelection.SelectionProcessing.Main.IProcessing { }
|
||||
}
|
||||
Reference in New Issue
Block a user