From c3bd39f2cb88cacd929c8756fa9cfc2c7d784aff Mon Sep 17 00:00:00 2001 From: gamer147 Date: Fri, 5 Jun 2026 20:34:49 -0400 Subject: [PATCH] feat(battle-engine): final type-frontier residual (Story/Title/Friend stubs, SDK anchors, Unity AndroidJavaObject/WebCamTexture) Clears the last CS0246/CS0234 type frontier; per F3 this unmasks the AI-subsystem member bodies (~9k member-level errors) -- next grind is extension copies + god-object member growth. --- SVSim.BattleEngine/Shim/External/LooseEnds.cs | 10 ++++++ .../Shim/UnityEngine/UnityShim.cs | 6 +++- .../Shim/View/StoryTitleStubs.cs | 33 +++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs diff --git a/SVSim.BattleEngine/Shim/External/LooseEnds.cs b/SVSim.BattleEngine/Shim/External/LooseEnds.cs index d90c2bf..d676346 100644 --- a/SVSim.BattleEngine/Shim/External/LooseEnds.cs +++ b/SVSim.BattleEngine/Shim/External/LooseEnds.cs @@ -47,4 +47,14 @@ namespace Steamworks { // Steam callback wrapper (engine only references the type). public sealed class Callback { } + // Microtransaction auth response struct (referenced as a callback type arg). + public struct MicroTxnAuthorizationResponse_t { } } + +// ---- third-party SDK namespace anchors (referenced via `using`) ---- +namespace Facebook { internal class _ShimAnchor { } } +namespace Facebook.Unity { internal class _ShimAnchor { } } +namespace RedShellSDK { internal class _ShimAnchor { } } +namespace ZXing { internal class _ShimAnchor { } } +namespace ZXing.QrCode { internal class _ShimAnchor { } } +namespace ZXing.QrCode.Internal { internal class _ShimAnchor { } } diff --git a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs index b8f4e83..bf0d627 100644 --- a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs +++ b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs @@ -326,9 +326,13 @@ namespace UnityEngine public class SerializeField : Attribute { } public class HideInInspector : Attribute { } public class ExecuteInEditMode : Attribute { } + public class ExecuteAlwaysAttribute : Attribute { } + public class AndroidJavaObject : IDisposable { public AndroidJavaObject(string className, params object[] args) { } public T Call(string method, params object[] args) => default; public void Call(string method, params object[] args) { } public T Get(string name) => default; public void Set(string name, T val) { } public void Dispose() { } } + public class WebCamTexture : Texture { public WebCamTexture() { } public WebCamTexture(int w, int h, int fps) { } public void Play() { } public void Stop() { } public bool isPlaying => false; public Color32[] GetPixels32() => new Color32[0]; } public class AddComponentMenu : Attribute { public AddComponentMenu(string n) { } public AddComponentMenu(string n, int o) { } } public class ContextMenu : Attribute { public ContextMenu(string n) { } } - public class RequireComponent : Attribute { public RequireComponent(Type a) { } public RequireComponent(Type a, Type b) { } } + [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] + public class RequireComponent : Attribute { public RequireComponent(Type a) { } public RequireComponent(Type a, Type b) { } public RequireComponent(Type a, Type b, Type c) { } } public class HeaderAttribute : Attribute { public HeaderAttribute(string h) { } } public class TooltipAttribute : Attribute { public TooltipAttribute(string t) { } } public class SpaceAttribute : Attribute { public SpaceAttribute() { } public SpaceAttribute(float h) { } } diff --git a/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs b/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs new file mode 100644 index 0000000..94f36b2 --- /dev/null +++ b/SVSim.BattleEngine/Shim/View/StoryTitleStubs.cs @@ -0,0 +1,33 @@ +// 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 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 { } + public class Parameter { } +} + +namespace Wizard.UIFriend { public class Friend { public class PlayerData { } } } +namespace Wizard.Title { public class GameSetup { } } +namespace Wizard.RoomMatch { public class Player { } } + +// ---- 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 { } }