mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-04 14:24:53 +08:00
Don't change IK constraint indices.
This commit is contained in:
parent
99c41f7581
commit
b94e04a7a5
@ -43,7 +43,7 @@ public class Skeleton {
|
|||||||
final Array<Bone> bones;
|
final Array<Bone> bones;
|
||||||
final Array<Slot> slots;
|
final Array<Slot> slots;
|
||||||
Array<Slot> drawOrder;
|
Array<Slot> drawOrder;
|
||||||
final Array<IkConstraint> ikConstraints;
|
final Array<IkConstraint> ikConstraints, ikConstraintsSorted;
|
||||||
final Array<TransformConstraint> transformConstraints;
|
final Array<TransformConstraint> transformConstraints;
|
||||||
final Array<PathConstraint> pathConstraints;
|
final Array<PathConstraint> pathConstraints;
|
||||||
final Array<Updatable> updateCache = new Array();
|
final Array<Updatable> updateCache = new Array();
|
||||||
@ -80,6 +80,7 @@ public class Skeleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ikConstraints = new Array(data.ikConstraints.size);
|
ikConstraints = new Array(data.ikConstraints.size);
|
||||||
|
ikConstraintsSorted = new Array(ikConstraints.size);
|
||||||
for (IkConstraintData ikConstraintData : data.ikConstraints)
|
for (IkConstraintData ikConstraintData : data.ikConstraints)
|
||||||
ikConstraints.add(new IkConstraint(ikConstraintData, this));
|
ikConstraints.add(new IkConstraint(ikConstraintData, this));
|
||||||
|
|
||||||
@ -118,6 +119,7 @@ public class Skeleton {
|
|||||||
drawOrder.add(slots.get(slot.data.index));
|
drawOrder.add(slots.get(slot.data.index));
|
||||||
|
|
||||||
ikConstraints = new Array(skeleton.ikConstraints.size);
|
ikConstraints = new Array(skeleton.ikConstraints.size);
|
||||||
|
ikConstraintsSorted = new Array(ikConstraints.size);
|
||||||
for (IkConstraint ikConstraint : skeleton.ikConstraints)
|
for (IkConstraint ikConstraint : skeleton.ikConstraints)
|
||||||
ikConstraints.add(new IkConstraint(ikConstraint, this));
|
ikConstraints.add(new IkConstraint(ikConstraint, this));
|
||||||
|
|
||||||
@ -147,8 +149,10 @@ public class Skeleton {
|
|||||||
for (int i = 0, n = bones.size; i < n; i++)
|
for (int i = 0, n = bones.size; i < n; i++)
|
||||||
bones.get(i).sorted = false;
|
bones.get(i).sorted = false;
|
||||||
|
|
||||||
// IK first, in hierarchy depth order.
|
// IK first, lowest hierarchy depth first.
|
||||||
Array<IkConstraint> ikConstraints = this.ikConstraints;
|
Array<IkConstraint> ikConstraints = this.ikConstraintsSorted;
|
||||||
|
ikConstraints.clear();
|
||||||
|
ikConstraints.addAll(this.ikConstraints);
|
||||||
int ikCount = ikConstraints.size;
|
int ikCount = ikConstraints.size;
|
||||||
for (int i = 0, level, n = ikCount; i < n; i++) {
|
for (int i = 0, level, n = ikCount; i < n; i++) {
|
||||||
IkConstraint ik = ikConstraints.get(i);
|
IkConstraint ik = ikConstraints.get(i);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user