From 5c75af1d38f679c6a42f3ca02394a72e43c1ec34 Mon Sep 17 00:00:00 2001 From: Ali-RS Date: Sun, 13 Oct 2019 21:22:40 +0330 Subject: [PATCH] AnimComposer: added getTime() and setTime() methods (#1201) Resolves #1200 --- .../main/java/com/jme3/anim/AnimComposer.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/jme3-core/src/main/java/com/jme3/anim/AnimComposer.java b/jme3-core/src/main/java/com/jme3/anim/AnimComposer.java index d997ab39d..b8ac76668 100644 --- a/jme3-core/src/main/java/com/jme3/anim/AnimComposer.java +++ b/jme3-core/src/main/java/com/jme3/anim/AnimComposer.java @@ -104,6 +104,36 @@ public class AnimComposer extends AbstractControl { l.time = 0; l.currentAction = null; } + + /** + * Returns current time of the specified layer. + */ + public double getTime(String layerName) { + Layer l = layers.get(layerName); + if (l == null) { + throw new IllegalArgumentException("Unknown layer " + layerName); + } + return l.time; + } + + /** + * Sets current time on the specified layer. + */ + public void setTime(String layerName, double time) { + Layer l = layers.get(layerName); + if (l == null) { + throw new IllegalArgumentException("Unknown layer " + layerName); + } + if (l.currentAction == null) { + throw new RuntimeException("There is no action running in layer " + layerName); + } + double length = l.currentAction.getLength(); + if (time >= 0) { + l.time = time % length; + } else { + l.time = time % length + length; + } + } /** *