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>
45 lines
1.9 KiB
C#
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 { } }
|