feat(battle-engine): BestHTTP SocketIO + Spine SDK member shims (1556->1462)

BestHTTP.SocketIO: Socket.On/Off/Emit + SocketIOCallback delegate, SocketManager ctors/
State/Socket/indexer/Open/Close/SettingRealtimeNetworkAgent, SocketOptions. Spine: Skeleton
(Data/Skin/Scale/FindBone/SetSkin/Update), Bone (WorldX/Y/RotationX), SkeletonMecanim
(MonoBehaviour + skeleton). All minimal hand shims (no full-surface -> no SDK closure pull);
node-socket path is Phase-2, off the battle path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-06-05 22:41:06 -04:00
parent a1c0c2d312
commit 7ac13f73f2
2 changed files with 53 additions and 6 deletions

View File

@@ -38,8 +38,38 @@ namespace CodeStage.AntiCheat.ObscuredTypes
}
// ---- Spine animation ----
namespace Spine { public class Bone { } internal class _ShimAnchor { } }
namespace Spine.Unity { public class SkeletonMecanim { } internal class _ShimAnchor { } }
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 { } }

View File

@@ -106,13 +106,30 @@ namespace Wizard.Story
namespace BestHTTP.SocketIO
{
// BestHTTP SDK types — minimal hand shim (full-surface would pull the whole SocketIO
// closure). Node-server real-time socket path is Phase-2; these are off the battle path.
public sealed class Packet { }
public sealed class Socket { }
// SocketManager is a BestHTTP SDK type — minimal hand shim (full-surface would pull
// the whole SocketIO SDK closure). Members filled on demand as the frontier needs them.
public delegate void SocketIOCallback(Socket socket, Packet packet, params object[] args);
public sealed class Socket
{
public string Id => "";
public Socket On(string eventName, SocketIOCallback callback) => this;
public Socket Off(string eventName) => this;
public Socket Off() => this;
public Socket Emit(string eventName, params object[] args) => this;
}
public class SocketOptions { }
public sealed class SocketManager
{
public enum States { Initial, Opening, Open, Paused, Reconnecting, Closed }
public enum States { Initial, Opening, Open, Paused, Pausing, Reconnecting, Closed }
public SocketManager(System.Uri uri) { }
public SocketManager(System.Uri uri, SocketOptions options) { }
public States State => States.Closed;
public Socket Socket { get; } = new Socket();
public Socket this[string nsp] => Socket;
public void Open() { }
public void Close() { }
public void SettingRealtimeNetworkAgent(object agent) { }
}
}