Files
SVSimServer/SVSim.BattleEngine/Shim/External/SdkStubs.cs
gamer147 9376b35db2 port(m1): wave 6c — Unity + Steam/FB/Adjust static-class shims (696->572)
Off-battle-path static surfaces (CS0103 cluster):
- UnityStatics: Gizmos, Physics2D, Caching, GUIUtility, Cursor, ColorUtility,
  ScreenCapture, RenderSettings, JsonUtility, Social + CursorLockMode enum.
- RaycastHit2D implicit-bool operator; ILocalUser in SocialPlatforms.
- Steamworks: Callback<T>.Create, AppId_t/CSteamID/HAuthTicket/SteamNetworkingIdentity,
  MicroTxn/GetAuthSessionTicket response structs, SteamAPI/User/Utils/Client statics.
  Removed empty dup GetAuthSessionTicketResponse_t from ThirdParty.cs.
- Facebook.Unity: FB + ILoginResult + FacebookDelegate<T>; com.adjust.sdk.Adjust;
  global TimeNativePlugin/Packsize native-plugin stubs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 23:56:52 -04:00

96 lines
3.5 KiB
C#

// 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<TKey, TValue> : System.Collections.Generic.Dictionary<TKey, TValue> { }
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() { } }