commonMain.ru.casperix.spine.animation.BoneTransformChannel.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spine Show documentation
Show all versions of spine Show documentation
Signals for all occasions
The newest version!
package ru.casperix.spine.animation
import ru.casperix.math.Transform
class BoneTransformChannel(
frames: List,
val isScaleMode:Boolean,
val channelIndex:Int,
val valueByFrame: (CustomKeyFrame) -> Float,
val valueByTransform: (Transform) -> Float,
) {
private val channelFrames = frames.map { AbstractTimeline.createFrame(it.time, valueByFrame(it), it.curve, channelIndex) }
fun getCurrentValue(boneAnimationContext: BoneAnimationContext): Float = boneAnimationContext.run {
boneAnimationContext.context.run {
FrameCalculator.getRelativeValue(
channelFrames,
time,
weight,
blend,
valueByTransform(bone.local),
valueByTransform(bone.data.local),
isScaleMode
)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy