From 7e5ff0a58f867404948698b0d5c1135c3387b052 Mon Sep 17 00:00:00 2001 From: gamer147 Date: Fri, 5 Jun 2026 22:43:39 -0400 Subject: [PATCH] feat(battle-engine): ParticleSystem/Collider2D/Quaternion + SocketOptions members (1462->1386) ParticleSystem.MainModule (playOnAwake/simulationSpeed/startColor + MinMaxGradient), ParticleSystemRenderer (maskInteraction/trailMaterial + SpriteMaskInteraction), BoxCollider2D (isTrigger/offset/size), Quaternion.FromToRotation/Inverse. SocketOptions (AutoConnect/ ConnectWith/AdditionalQueryParams) + PlatformSupport ObservableDictionary. Co-Authored-By: Claude Opus 4.8 --- SVSim.BattleEngine/Shim/External/SdkStubs.cs | 6 +++++- SVSim.BattleEngine/Shim/UnityEngine/Primitives.cs | 2 ++ SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs | 6 ++++-- SVSim.BattleEngine/Shim/UnityEngine/UnityShim2.cs | 2 +- SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs | 7 ++++++- 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/SVSim.BattleEngine/Shim/External/SdkStubs.cs b/SVSim.BattleEngine/Shim/External/SdkStubs.cs index cc3fba7..717f9e8 100644 --- a/SVSim.BattleEngine/Shim/External/SdkStubs.cs +++ b/SVSim.BattleEngine/Shim/External/SdkStubs.cs @@ -73,7 +73,11 @@ namespace Spine.Unity // ---- misc third-party namespaces (anchors) ---- namespace RedShellUnity { internal class _ShimAnchor { } } -namespace PlatformSupport.Collections.ObjectModel { 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 { internal class _ShimAnchor { } } namespace BestHTTP.Decompression { internal class _ShimAnchor { } } diff --git a/SVSim.BattleEngine/Shim/UnityEngine/Primitives.cs b/SVSim.BattleEngine/Shim/UnityEngine/Primitives.cs index 1d0ba43..9a5ca30 100644 --- a/SVSim.BattleEngine/Shim/UnityEngine/Primitives.cs +++ b/SVSim.BattleEngine/Shim/UnityEngine/Primitives.cs @@ -78,6 +78,8 @@ namespace UnityEngine public static Quaternion AngleAxis(float angle, Vector3 axis) => identity; public static Quaternion LookRotation(Vector3 fwd) => identity; public static Quaternion Slerp(Quaternion a, Quaternion b, float t) => identity; + public static Quaternion FromToRotation(Vector3 from, Vector3 to) => identity; + public static Quaternion Inverse(Quaternion rotation) => identity; public Vector3 eulerAngles { get => Vector3.zero; set { } } public static Vector3 operator *(Quaternion q, Vector3 v) => v; public static Quaternion operator *(Quaternion a, Quaternion b) => identity; diff --git a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs index 9b14638..42764c6 100644 --- a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs +++ b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs @@ -226,11 +226,13 @@ namespace UnityEngine public EmissionModule emission => default; public int GetParticles(Particle[] p) => 0; public void SetParticles(Particle[] p, int n) { } - public struct MainModule { public float duration; public float startLifetime; public bool loop; public float startSpeed; } + public struct MainModule { public float duration; public float startLifetime; public bool loop; public float startSpeed; public bool playOnAwake; public float simulationSpeed; public MinMaxGradient startColor; } + public struct MinMaxGradient { public Color color; public MinMaxGradient(Color c) { color = c; } public static implicit operator MinMaxGradient(Color c) => new MinMaxGradient(c); } public struct EmissionModule { public bool enabled; public float rateOverTime; } public struct Particle { public Vector3 position; public Vector3 velocity; public Color32 startColor; public float remainingLifetime; } } - public class ParticleSystemRenderer : Renderer { } + public class ParticleSystemRenderer : Renderer { public SpriteMaskInteraction maskInteraction { get; set; } public Material trailMaterial { get; set; } } + public enum SpriteMaskInteraction { None, VisibleInsideMask, VisibleOutsideMask } public partial class LODGroup : Component { } public class Collider : Component { public bool enabled { get; set; } } public class BoxCollider : Collider { public Vector3 size { get; set; } public Vector3 center { get; set; } public bool isTrigger { get; set; } } diff --git a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim2.cs b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim2.cs index 03daae3..34578b6 100644 --- a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim2.cs +++ b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim2.cs @@ -36,7 +36,7 @@ namespace UnityEngine public class AssetBundleRequest : AsyncOperation { public Object asset => null; public Object[] allAssets => new Object[0]; } public class Collider2D : Component { public bool enabled { get; set; } } - public partial class BoxCollider2D : Collider2D { } + public partial class BoxCollider2D : Collider2D { public bool isTrigger { get; set; } public Vector2 offset { get; set; } public Vector2 size { get; set; } } public partial class Light : Behaviour { } public class AudioListener : Behaviour { } diff --git a/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs b/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs index b3e043a..6a0009f 100644 --- a/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs +++ b/SVSim.BattleEngine/Shim/View/SettingsUiStubs.cs @@ -118,7 +118,12 @@ namespace BestHTTP.SocketIO public Socket Off() => this; public Socket Emit(string eventName, params object[] args) => this; } - public class SocketOptions { } + public class SocketOptions + { + public bool AutoConnect { get; set; } + public Transports.TransportTypes ConnectWith { get; set; } + public PlatformSupport.Collections.ObjectModel.ObservableDictionary AdditionalQueryParams { get; set; } + } public sealed class SocketManager { public enum States { Initial, Opening, Open, Paused, Pausing, Reconnecting, Closed }