// AUTHORED SHIM (not copied). Third-party SDK surface swept into the copy closure by // non-battle files (audio/movie/anti-cheat/analytics/spine). None is on the battle- // resolution path. Namespaces must merely exist (anchors); the few types referenced // by member get a minimal no-op surface. Members grow only as the compile loop demands. // ---- CriWare audio + movie (CRI types with members live in External/CriShim.cs) ---- namespace CriWare { internal class _ShimAnchor { } } namespace CriWare.CriMana { public class CriManaMovieMaterial : UnityEngine.MonoBehaviour { public enum MaxFrameDrop { Disable, One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten } public MaxFrameDrop maxFrameDrop; public Player player { get; } = new Player(); } internal class _ShimAnchor { } } // ---- CodeStage anti-cheat obscured prefs (static k/v facade; no persistence headless) ---- namespace CodeStage.AntiCheat.ObscuredTypes { public static class ObscuredPrefs { public static bool HasKey(string key) => false; public static void DeleteKey(string key) { } public static void DeleteAll() { } public static void Save() { } public static int GetInt(string key, int defaultValue = 0) => defaultValue; public static float GetFloat(string key, float defaultValue = 0f) => defaultValue; public static string GetString(string key, string defaultValue = "") => defaultValue; public static void SetInt(string key, int value) { } public static void SetFloat(string key, float value) { } public static void SetString(string key, string value) { } } } // ---- Spine animation ---- namespace Spine { // Spine runtime — minimal hand shim (cosmetic skeletal animation, off battle path). public class SkeletonData { } public class Skin { } public class Bone { public float WorldX, WorldY, WorldRotationX; public Skeleton Skeleton => null; } public class Skeleton { public SkeletonData Data => null; public Skin Skin => null; public float ScaleX, ScaleY; public Bone FindBone(string boneName) => null; public void SetSkin(string skinName) { } public void SetSkin(Skin newSkin) { } public void SetSlotsToSetupPose() { } public void Update(float delta) { } } internal class _ShimAnchor { } } namespace Spine.Unity { public class SkeletonMecanim : UnityEngine.MonoBehaviour { public Spine.Skeleton skeleton => null; public Spine.Skeleton Skeleton => null; } internal class _ShimAnchor { } } // ---- misc third-party namespaces (anchors) ---- namespace RedShellUnity { internal class _ShimAnchor { } } namespace PlatformSupport.Collections.ObjectModel { public class ObservableDictionary : System.Collections.Generic.Dictionary { } internal class _ShimAnchor { } } namespace Convention { internal class _ShimAnchor { } } namespace com.adjust.sdk { public static class Adjust { public static bool IsEditor() => true; public static void addSessionCallbackParameter(string key, string value) { } } } namespace BestHTTP.Decompression { internal class _ShimAnchor { } } namespace BestHTTP.SocketIO.Transports { internal class _ShimAnchor { } } // Native plugins (no decomp source) referenced unqualified from global scope. public static class TimeNativePlugin { public static float GetDeviceOperatingTime() => 0f; } public static class Packsize { public static void Test() { } }