/** Copyright 2014 Robin Stumm (serverkorken@googlemail.com, http://dermetfan.net/) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* Modifications: Quick and dirty appropriation for use with Java 1.6 - Helix Engine Developers */ package com.github.fauu.helix.graphics; /** an animation state machine * @author dermetfan */ public interface Animated<T> { /** @param delta the duration by which to advance the animation */ void update(float delta); /** plays the animation */ void play(); /** pauses the animation */ void pause(); /** stops the animation */ void stop(); /** @param duration the duration by which to rewind the animation */ void rewind(float duration); /** @param time the state time to which to set the animation */ void setTime(float time); /** @return the state time of the animation */ float getTime(); /** @param playing if the animation should be playing */ void setPlaying(boolean playing); /** @return if the animation is playing */ boolean isPlaying(); /** @return the animated object */ T getAnimated(); }