Files
SVSimServer/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs
gamer147 fc54dac081 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>
2026-06-06 00:31:29 -04:00

45 lines
1.9 KiB
C#

// AUTHORED SHIM (not copied). Final M1 residual: non-battle Story chapter-selection /
// Title / Friend / RoomMatch types swept into the closure but never driven headless,
// plus the namespace anchors their `using` directives target. Empty stubs (no copied
// type inherits them); members would unmask only if a battle path touched them.
namespace Wizard.Story
{
public enum StoryEntranceType { None, MainStory, LimitedStory, EventStory, AllStory }
}
namespace Wizard.Story.ChapterSelection
{
public partial class CommonPrefabContainer { }
public class TitlePanelBase { }
}
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
{
IProcessing NextProcessing { get; set; }
void Execute(Parameter param);
}
public class Parameter { }
}
namespace Wizard.UIFriend
{
public partial class Friend { public partial class PlayerData { } }
public class FriendDataBase
{
public virtual void SetPlayerData(Friend.PlayerData in_PlayerData, System.Collections.Generic.List<string> in_LoadList) { }
}
}
namespace Wizard.Title { public partial class GameSetup { } }
namespace Wizard.RoomMatch { public class Player { public long Emblem { get; set; } public int Degree { get; set; } public string Country { get; set; } public string Name { get; set; } public int Rank { get; set; } public bool IsFriend { get; set; } public int ViewerId { get; set; } } }
// ---- namespace anchors (referenced via `using`) ----
namespace Wizard.Scripts.Network.Task.ItemAcquireHistory { internal class _ShimAnchor { } }
namespace Wizard.UI.Profile { internal class _ShimAnchor { } }
namespace Wizard.UI.ReportToManagement { internal class _ShimAnchor { } }
namespace Wizard.Battle.Tutorial { internal class _ShimAnchor { } }