From 981f903504f9c78a7af0860de89d3ade560657c9 Mon Sep 17 00:00:00 2001 From: gamer147 Date: Sat, 6 Jun 2026 00:44:04 -0400 Subject: [PATCH] =?UTF-8?q?port(m1):=20wave=207e=20=E2=80=94=20Unity/NGUI/?= =?UTF-8?q?Spine=20member=20tail=20(142->112)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - isActiveAndEnabled onto Behaviour (real Unity location) — clears it on all 5 MonoBehaviour-derived NGUI types (MyPageCardPanel/WizardUIButton/UITweenAlpha/ UIScrollView/UICardList) in one edit. - Touch.tapCount, Rigidbody2D.isKinematic, AnimatorStateInfo.fullPathHash, AnimationClip.frameRate. - Spine: SkeletonData.Skins (List) + Skin.Name, for SpineObject's Data.Skins.Any(s => s.Name == ...). Co-Authored-By: Claude Opus 4.8 --- SVSim.BattleEngine/Shim/External/SdkStubs.cs | 4 ++-- SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/SVSim.BattleEngine/Shim/External/SdkStubs.cs b/SVSim.BattleEngine/Shim/External/SdkStubs.cs index 7720709..b579201 100644 --- a/SVSim.BattleEngine/Shim/External/SdkStubs.cs +++ b/SVSim.BattleEngine/Shim/External/SdkStubs.cs @@ -41,8 +41,8 @@ namespace CodeStage.AntiCheat.ObscuredTypes namespace Spine { // Spine runtime — minimal hand shim (cosmetic skeletal animation, off battle path). - public class SkeletonData { } - public class Skin { } + public class SkeletonData { public System.Collections.Generic.List Skins { get; } = new System.Collections.Generic.List(); } + public class Skin { public string Name { get; set; } } public class Bone { public float WorldX, WorldY, WorldRotationX; diff --git a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs index 0b301c1..b29b739 100644 --- a/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs +++ b/SVSim.BattleEngine/Shim/UnityEngine/UnityShim.cs @@ -108,7 +108,7 @@ namespace UnityEngine public bool CompareTag(string t) => false; } - public class Behaviour : Component { public bool enabled { get; set; } } + public class Behaviour : Component { public bool enabled { get; set; } public bool isActiveAndEnabled { get; } } public class MonoBehaviour : Behaviour { @@ -254,7 +254,7 @@ namespace UnityEngine 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; } } public partial class Rigidbody : Component { } - public class Rigidbody2D : Component { } + public class Rigidbody2D : Component { public bool isKinematic { get; set; } } public partial class Material : Object { public Material() { } @@ -291,12 +291,12 @@ namespace UnityEngine public enum TextureWrapMode { Repeat, Clamp, Mirror, MirrorOnce } public enum WrapMode { Once = 1, Loop = 2, PingPong = 4, Default = 0, ClampForever = 8, Clamp = 1 } public struct Keyframe { public float time; public float value; public float inTangent; public float outTangent; public Keyframe(float t, float v) { time = t; value = v; inTangent = 0; outTangent = 0; } public Keyframe(float t, float v, float inT, float outT) { time = t; value = v; inTangent = inT; outTangent = outT; } } - public struct AnimatorStateInfo { public bool IsName(string name) => false; public float normalizedTime => 0f; public int shortNameHash => 0; public float length => 0f; } + public struct AnimatorStateInfo { public bool IsName(string name) => false; public float normalizedTime => 0f; public int shortNameHash => 0; public int fullPathHash => 0; public float length => 0f; } public struct AnimatorClipInfo { public AnimationClip clip => null; public float weight => 0f; } public class RenderTexture : Texture { public RenderTexture(int w, int h, int depth) { } public RenderTexture(int w, int h, int depth, RenderTextureFormat fmt) { } public void Create() { } public void Release() { } public bool IsCreated() => false; public static RenderTexture active { get; set; } public int depth { get; set; } public FilterMode filterMode { get; set; } public TextureWrapMode wrapMode { get; set; } public void DiscardContents() { } public static RenderTexture GetTemporary(int w, int h) => null; public static RenderTexture GetTemporary(int w, int h, int depth) => null; public static RenderTexture GetTemporary(int w, int h, int depth, RenderTextureFormat fmt) => null; public static void ReleaseTemporary(RenderTexture rt) { } } public partial class Sprite : Object { public Rect rect => default; public Texture2D texture => null; public static Sprite Create(Texture2D t, Rect r, Vector2 pivot) => null; } public partial class Shader : Object { public static Shader Find(string n) => null; public bool isSupported => true; } - public class AnimationClip : Object { public float length => 0f; public string name { get; set; } } + public class AnimationClip : Object { public float length => 0f; public string name { get; set; } public float frameRate => 0f; } public partial class Animation : Component, IEnumerable { public AnimationClip clip { get; set; } public bool isPlaying => false; public void Play() { } public void Play(string n) { } public void Stop() { } public IEnumerator GetEnumerator() { yield break; } } public class Animator : Component { @@ -359,7 +359,7 @@ namespace UnityEngine public sealed class WaitForFixedUpdate : YieldInstruction { } // ---- input ---- - public struct Touch { public int fingerId; public Vector2 position; public TouchPhase phase; } + public struct Touch { public int fingerId; public Vector2 position; public TouchPhase phase; public int tapCount; } // ---- enums (grow members as the compiler demands) ---- public enum FontStyle { Normal, Bold, Italic, BoldAndItalic }