refactor(battlenode): guard generated iface-impl against regen + stub visibility (M-HC-0 review)

- _IfaceImpl.g.cs: extend header to warn about hand-edits; tag all bare
  // HEADLESS-FIX lines with their milestone (M13 on GetSideLogControl ×2)
  so `grep HEADLESS-FIX` reliably surfaces every block before a regen.
- HeadlessHandViewStub / HeadlessPlayQueueViewStub: narrow from public to
  internal sealed — both stubs are consumed only within SVSim.BattleEngine
  (via the generated partial impls); no public surface exposes the concrete
  type, so internal is correct and aligns with HeadlessIconAnimations.
- SessionBattleEngine.SeedMulliganInfoControl: add one-line comment on the
  GetComponent<MulliganInfoControl>() call explaining the shim's lazy
  materialisation behaviour (otherwise reads like a guaranteed NRE).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-06 20:20:34 -04:00
parent 35e9847911
commit e96cc3363c
4 changed files with 7 additions and 5 deletions

View File

@@ -12,7 +12,7 @@ using UnityEngine;
namespace Wizard.Battle.View
{
public sealed class HeadlessHandViewStub : HandViewBase
internal sealed class HeadlessHandViewStub : HandViewBase
{
// Shared instance the generated IBattlePlayerView.HandView getters return headless.
public static readonly HeadlessHandViewStub Instance = new HeadlessHandViewStub();

View File

@@ -16,7 +16,7 @@ using Wizard.Battle.View.Vfx;
namespace Wizard.Battle.View
{
public sealed class HeadlessPlayQueueViewStub : PlayQueueViewBase
internal sealed class HeadlessPlayQueueViewStub : PlayQueueViewBase
{
// Shared instance the generated IBattlePlayerView.PlayQueueView getters return headless.
public static readonly HeadlessPlayQueueViewStub Instance = new HeadlessPlayQueueViewStub();