mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
Fixed a different kind of flickering for multi page atlases.
This commit is contained in:
parent
4fa11e72d5
commit
02da6a42ad
@ -266,18 +266,16 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh());
|
if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh());
|
||||||
Submesh submesh = submeshes[submeshIndex];
|
Submesh submesh = submeshes[submeshIndex];
|
||||||
|
|
||||||
// Allocate indexes if not the right size, allowing last submesh to have more than required.
|
|
||||||
int[] indexes = submesh.indexes;
|
int[] indexes = submesh.indexes;
|
||||||
if (lastSubmesh ? (indexes.Length < indexCount) : (indexes.Length != indexCount)) {
|
if (lastSubmesh && submesh.indexCount > indexCount) {
|
||||||
submesh.indexes = indexes = new int[indexCount];
|
// Last submesh may have more indices than required, so zero indexes to the end.
|
||||||
submesh.indexCount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Last submesh may have more indices than required, so zero indexes to the end.
|
|
||||||
if (lastSubmesh && submesh.indexCount != indexCount) {
|
|
||||||
submesh.indexCount = indexCount;
|
submesh.indexCount = indexCount;
|
||||||
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
||||||
indexes[i] = 0;
|
indexes[i] = 0;
|
||||||
|
} else if (indexes.Length != indexCount) {
|
||||||
|
// Reallocate indexes if not the right size.
|
||||||
|
submesh.indexes = indexes = new int[indexCount];
|
||||||
|
submesh.indexCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set indexes if not already set.
|
// Set indexes if not already set.
|
||||||
|
|||||||
@ -266,18 +266,16 @@ public class SkeletonComponent : MonoBehaviour {
|
|||||||
if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh());
|
if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh());
|
||||||
Submesh submesh = submeshes[submeshIndex];
|
Submesh submesh = submeshes[submeshIndex];
|
||||||
|
|
||||||
// Allocate indexes if not the right size, allowing last submesh to have more than required.
|
|
||||||
int[] indexes = submesh.indexes;
|
int[] indexes = submesh.indexes;
|
||||||
if (lastSubmesh ? (indexes.Length < indexCount) : (indexes.Length != indexCount)) {
|
if (lastSubmesh && submesh.indexCount > indexCount) {
|
||||||
submesh.indexes = indexes = new int[indexCount];
|
// Last submesh may have more indices than required, so zero indexes to the end.
|
||||||
submesh.indexCount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Last submesh may have more indices than required, so zero indexes to the end.
|
|
||||||
if (lastSubmesh && submesh.indexCount != indexCount) {
|
|
||||||
submesh.indexCount = indexCount;
|
submesh.indexCount = indexCount;
|
||||||
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
||||||
indexes[i] = 0;
|
indexes[i] = 0;
|
||||||
|
} else if (indexes.Length != indexCount) {
|
||||||
|
// Reallocate indexes if not the right size.
|
||||||
|
submesh.indexes = indexes = new int[indexCount];
|
||||||
|
submesh.indexCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set indexes if not already set.
|
// Set indexes if not already set.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user