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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user