mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Merge branch '4.2' into spine-android
This commit is contained in:
commit
9cc57ee63f
@ -78,6 +78,10 @@ namespace Spine {
|
|||||||
return sin[(int)((degrees + 90) * DegToIndex) & SIN_MASK];
|
return sin[(int)((degrees + 90) * DegToIndex) & SIN_MASK];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static public float Atan2Deg (float y, float x) {
|
||||||
|
return Atan2(y, x) * RadDeg;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>Returns atan2 in radians, faster but less accurate than Math.Atan2. Average error of 0.00231 radians (0.1323
|
/// <summary>Returns atan2 in radians, faster but less accurate than Math.Atan2. Average error of 0.00231 radians (0.1323
|
||||||
/// degrees), largest error of 0.00488 radians (0.2796 degrees).</summary>
|
/// degrees), largest error of 0.00488 radians (0.2796 degrees).</summary>
|
||||||
static public float Atan2 (float y, float x) {
|
static public float Atan2 (float y, float x) {
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"name": "com.esotericsoftware.spine.spine-csharp",
|
"name": "com.esotericsoftware.spine.spine-csharp",
|
||||||
"displayName": "spine-csharp Runtime",
|
"displayName": "spine-csharp Runtime",
|
||||||
"description": "This plugin provides the spine-csharp core runtime.",
|
"description": "This plugin provides the spine-csharp core runtime.",
|
||||||
"version": "4.2.22",
|
"version": "4.2.23",
|
||||||
"unity": "2018.3",
|
"unity": "2018.3",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Esoteric Software",
|
"name": "Esoteric Software",
|
||||||
|
|||||||
@ -73,6 +73,7 @@ namespace Spine.Unity {
|
|||||||
[Tooltip("Copies MeshRenderer flags into each parts renderer")]
|
[Tooltip("Copies MeshRenderer flags into each parts renderer")]
|
||||||
public bool copyMeshRendererFlags = true;
|
public bool copyMeshRendererFlags = true;
|
||||||
public List<Spine.Unity.SkeletonPartsRenderer> partsRenderers = new List<SkeletonPartsRenderer>();
|
public List<Spine.Unity.SkeletonPartsRenderer> partsRenderers = new List<SkeletonPartsRenderer>();
|
||||||
|
[System.NonSerialized] public bool isVisible = true;
|
||||||
|
|
||||||
#if UNITY_EDITOR
|
#if UNITY_EDITOR
|
||||||
void Reset () {
|
void Reset () {
|
||||||
@ -197,6 +198,10 @@ namespace Spine.Unity {
|
|||||||
skeletonRenderer.LateUpdateMesh();
|
skeletonRenderer.LateUpdateMesh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Update () {
|
||||||
|
UpdateVisibility();
|
||||||
|
}
|
||||||
|
|
||||||
public void OnDisable () {
|
public void OnDisable () {
|
||||||
if (skeletonRenderer == null) return;
|
if (skeletonRenderer == null) return;
|
||||||
#if SPINE_OPTIONAL_RENDEROVERRIDE
|
#if SPINE_OPTIONAL_RENDEROVERRIDE
|
||||||
@ -206,6 +211,24 @@ namespace Spine.Unity {
|
|||||||
ClearPartsRendererMeshes();
|
ClearPartsRendererMeshes();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateVisibility () {
|
||||||
|
foreach (SkeletonPartsRenderer partsRenderer in partsRenderers) {
|
||||||
|
if (partsRenderer == null) continue;
|
||||||
|
|
||||||
|
if (partsRenderer.MeshRenderer.isVisible) {
|
||||||
|
if (!isVisible) {
|
||||||
|
skeletonRenderer.OnBecameVisible();
|
||||||
|
isVisible = true;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isVisible) {
|
||||||
|
isVisible = false;
|
||||||
|
skeletonRenderer.OnBecameInvisible();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MaterialPropertyBlock copiedBlock;
|
MaterialPropertyBlock copiedBlock;
|
||||||
|
|
||||||
void HandleRender (SkeletonRendererInstruction instruction) {
|
void HandleRender (SkeletonRendererInstruction instruction) {
|
||||||
|
|||||||
@ -239,6 +239,7 @@ namespace Spine.Unity {
|
|||||||
Initialize(false);
|
Initialize(false);
|
||||||
if (meshRenderer)
|
if (meshRenderer)
|
||||||
meshRenderer.enabled = false;
|
meshRenderer.enabled = false;
|
||||||
|
updateMode = UpdateMode.FullUpdate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
remove {
|
remove {
|
||||||
@ -405,7 +406,8 @@ namespace Spine.Unity {
|
|||||||
|
|
||||||
public virtual void Awake () {
|
public virtual void Awake () {
|
||||||
Initialize(false);
|
Initialize(false);
|
||||||
updateMode = updateWhenInvisible;
|
if (generateMeshOverride == null || !disableRenderingOnOverride)
|
||||||
|
updateMode = updateWhenInvisible;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if UNITY_EDITOR && CONFIGURABLE_ENTER_PLAY_MODE
|
#if UNITY_EDITOR && CONFIGURABLE_ENTER_PLAY_MODE
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"name": "com.esotericsoftware.spine.spine-unity",
|
"name": "com.esotericsoftware.spine.spine-unity",
|
||||||
"displayName": "spine-unity Runtime",
|
"displayName": "spine-unity Runtime",
|
||||||
"description": "This plugin provides the spine-unity runtime core.",
|
"description": "This plugin provides the spine-unity runtime core.",
|
||||||
"version": "4.2.62",
|
"version": "4.2.63",
|
||||||
"unity": "2018.3",
|
"unity": "2018.3",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Esoteric Software",
|
"name": "Esoteric Software",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user