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:
gamer147
2026-06-05 23:33:14 -04:00
parent be10425819
commit db76808e64
3 changed files with 498 additions and 2 deletions

View File

@@ -46,8 +46,10 @@ namespace Wizard.Battle.UI
namespace Wizard.Battle.View
{
public abstract class ClassBattleCardViewBase { }
public class NullBattleCardView { }
// 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 { }
}
namespace Wizard.Battle.View.Vfx