mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-20 17:26:01 +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());
|
||||
Submesh submesh = submeshes[submeshIndex];
|
||||
|
||||
// Allocate indexes if not the right size, allowing last submesh to have more than required.
|
||||
int[] indexes = submesh.indexes;
|
||||
if (lastSubmesh ? (indexes.Length < indexCount) : (indexes.Length != indexCount)) {
|
||||
submesh.indexes = indexes = new int[indexCount];
|
||||
submesh.indexCount = 0;
|
||||
}
|
||||
|
||||
if (lastSubmesh && submesh.indexCount > indexCount) {
|
||||
// Last submesh may have more indices than required, so zero indexes to the end.
|
||||
if (lastSubmesh && submesh.indexCount != indexCount) {
|
||||
submesh.indexCount = indexCount;
|
||||
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
||||
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.
|
||||
|
||||
@ -266,18 +266,16 @@ public class SkeletonComponent : MonoBehaviour {
|
||||
if (submeshes.Count <= submeshIndex) submeshes.Add(new Submesh());
|
||||
Submesh submesh = submeshes[submeshIndex];
|
||||
|
||||
// Allocate indexes if not the right size, allowing last submesh to have more than required.
|
||||
int[] indexes = submesh.indexes;
|
||||
if (lastSubmesh ? (indexes.Length < indexCount) : (indexes.Length != indexCount)) {
|
||||
submesh.indexes = indexes = new int[indexCount];
|
||||
submesh.indexCount = 0;
|
||||
}
|
||||
|
||||
if (lastSubmesh && submesh.indexCount > indexCount) {
|
||||
// Last submesh may have more indices than required, so zero indexes to the end.
|
||||
if (lastSubmesh && submesh.indexCount != indexCount) {
|
||||
submesh.indexCount = indexCount;
|
||||
for (int i = indexCount, n = indexes.Length; i < n; i++)
|
||||
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.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user