private void tweenBone(com.brashmonkey.spriter.objects.SpriterBone currentBone, com.brashmonkey.spriter.objects.SpriterBone nextBone, int i, long startTime, long endTime) { currentBone.copyValuesTo(this.tempBones[i]); this.tempBones[i].setTimeline((nextBone != null) ? currentBone.getTimeline() : -1 ); com.brashmonkey.spriter.objects.SpriterAbstractObject parent = (this.tempBones[i] .hasParent()) ? this.tempBones[this.tempBones[i].getParentId()] : this.tempParent; if (nextBone != null) { if (parent != this.tempParent) { if (!currentBone.getParent().equals(nextBone.getParent())) { nextBone = (com.brashmonkey.spriter.objects.SpriterBone)this.getTimelineObject(currentBone , this.tempBones2); com.brashmonkey.spriter.SpriterCalculator.reTranslateRelative(parent, nextBone); nextBone.setAngle(nextBone.getAngle() * this.flippedX * this.flippedY); } } else { if (nextBone.hasParent()) { nextBone = (com.brashmonkey.spriter.objects.SpriterBone)this.getTimelineObject(currentBone , this.tempBones2); com.brashmonkey.spriter.SpriterCalculator.reTranslateRelative(parent, nextBone); nextBone.setAngle(nextBone.getAngle() * this.flippedX * this.flippedY); } } if (this.tempBones[i].tween) { this.interpolateAbstractObject(this.tempBones[i], currentBone, nextBone, startTime , endTime); } } this.moddedBones[currentBone.getId()].modSpriterBone(this.tempBones[i]); if (this.transitionFixed) { this.tempBones[i].copyValuesTo(this.lastFrame.getBones()[i]); } else { this.tempBones[i].copyValuesTo(this.lastTempFrame.getBones()[i]); } if (!this.tempBones[i].hasParent() || !this.moddedBones[currentBone.getId()].isActive ()) { this.tempBones[i].setX(this.tempBones[i].getX() + this.pivotX); this.tempBones[i].setY(this.tempBones[i].getY() + this.pivotY); } this.translateRelative(this.tempBones[i], parent); }
protected internal override void updateBone(com.brashmonkey.spriter.objects.SpriterBone bone) { base.updateBone(bone); bone.copyValuesTo(temp); com.brashmonkey.spriter.objects.SpriterAbstractObject parent = (bone.hasParent()) ? getRuntimeBones()[bone.getParent().getId()] : this.tempParent; com.brashmonkey.spriter.SpriterCalculator.reTranslateRelative(parent, temp); temp.copyValuesTo(this.lastFrame.getBones()[temp.getId()]); }
private void tweenObject(com.brashmonkey.spriter.objects.SpriterObject currentObject , com.brashmonkey.spriter.objects.SpriterObject nextObject, int i, long startTime , long endTime) { com.brashmonkey.spriter.draw.DrawInstruction dI = this.instructions[i]; currentObject.copyValuesTo(this.tempObjects[i]); com.brashmonkey.spriter.objects.SpriterAbstractObject parent = null; if (!currentObject.isTransientObject()) { this.tempObjects[i].setTimeline((nextObject != null) ? currentObject.getTimeline( ) : -1); parent = (currentObject.hasParent()) ? this.tempBones[currentObject.getParentId() ] : this.tempParent; if (nextObject != null) { if (parent != this.tempParent) { if (!currentObject.getParent().equals(nextObject.getParent())) { nextObject = (com.brashmonkey.spriter.objects.SpriterObject)this.getTimelineObject (currentObject, this.tempObjects2); com.brashmonkey.spriter.SpriterCalculator.reTranslateRelative(parent, nextObject); nextObject.setAngle(nextObject.getAngle() * this.flippedX * this.flippedY); } } else { if (nextObject.hasParent()) { nextObject = (com.brashmonkey.spriter.objects.SpriterObject)this.getTimelineObject (currentObject, this.tempObjects2); com.brashmonkey.spriter.SpriterCalculator.reTranslateRelative(parent, nextObject); nextObject.setAngle(nextObject.getAngle() * this.flippedX * this.flippedY); } } if (this.tempObjects[i].tween) { this.interpolateSpriterObject(this.tempObjects[i], currentObject, nextObject, startTime , endTime); } } this.moddedObjects[currentObject.getId()].modSpriterObject(this.tempObjects[i]); if (this.transitionFixed) { this.tempObjects[i].copyValuesTo(this.lastFrame.getObjects()[i]); } else { this.tempObjects[i].copyValuesTo(this.lastTempFrame.getObjects()[i]); } } else { parent = this.tempParent; } if (!this.tempObjects[i].hasParent()) { this.tempObjects[i].setX(this.tempObjects[i].getX() + this.pivotX); this.tempObjects[i].setY(this.tempObjects[i].getY() + this.pivotY); } this.translateRelative(this.tempObjects[i], parent); if (this.moddedObjects[currentObject.getId()].getRef() != null) { this.tempObjects[i].setRef(this.moddedObjects[currentObject.getId()].getRef()); } /*if (this.moddedObjects[currentObject.getId()].getLoader() != null) { this.tempObjects[i].setLoader(this.moddedObjects[currentObject.getId()].getLoader ()); }*/ this.tempObjects[i].copyValuesTo(dI); this.setInstructionRef(dI, this.tempObjects[i], nextObject); }