-#ifdef INTERFACE
-CLASS(Animation) EXTENDS(Object)
- METHOD(Animation, configureAnimation, void(entity, entity, void(entity, float), float, float, float, float))
- METHOD(Animation, setTimeStartEnd, void(entity, float, float))
- METHOD(Animation, setTimeStartDuration, void(entity, float, float))
- METHOD(Animation, setValueStartEnd, void(entity, float, float))
- METHOD(Animation, setValueStartDelta, void(entity, float, float))
- METHOD(Animation, setObjectSetter, void(entity, entity, void(entity, float)))
- METHOD(Animation, tick, void(entity, float))
- METHOD(Animation, calcValue, float(entity, float, float, float, float))
- METHOD(Animation, isStopped, float(entity))
- METHOD(Animation, stopAnim, void(entity))
- METHOD(Animation, resumeAnim, void(entity))
- METHOD(Animation, isFinished, float(entity))
- METHOD(Animation, finishAnim, void(entity))
+#ifndef ANIM_ANIMATION_H
+#define ANIM_ANIMATION_H
+void setterDummy(entity, float);
+CLASS(Animation, Object)
+ METHOD(Animation, configureAnimation, void(entity, entity, void(entity, float), float, float, float, float));
+ METHOD(Animation, update, void(entity, float, float, float));
+ METHOD(Animation, setTimeStartEnd, void(entity, float, float));
+ METHOD(Animation, setTimeStartDuration, void(entity, float, float));
+ METHOD(Animation, setValueStartEnd, void(entity, float, float));
+ METHOD(Animation, setValueStartDelta, void(entity, float, float));
+ METHOD(Animation, setObjectSetter, void(entity, entity, void(entity, float)));
+ METHOD(Animation, tick, void(entity, float));
+ METHOD(Animation, calcValue, float(entity, float, float, float, float));
+ METHOD(Animation, isStopped, float(entity));
+ METHOD(Animation, stopAnim, void(entity));
+ METHOD(Animation, resumeAnim, void(entity));
+ METHOD(Animation, isFinished, float(entity));
+ METHOD(Animation, finishAnim, void(entity));
ATTRIB(Animation, object, entity, NULL)
ATTRIB(Animation, setter, void(entity, float), setterDummy)
ATTRIB(Animation, value, float, 0)
ATTRIB(Animation, stopped, float, false)
ATTRIB(Animation, finished, float, false)
ENDCLASS(Animation)
-void setterDummy(entity, float);
#endif
#ifdef IMPLEMENTATION
me.setValueStartEnd(me, animStartValue, animEndValue);
}
+void Animation_update(entity me, float animDuration, float animStartValue, float animEndValue)
+{
+ me.setTimeStartDuration(me, time, animDuration);
+ me.setValueStartEnd(me, animStartValue, animEndValue);
+}
+
void Animation_setTimeStartEnd(entity me, float s, float e)
{
me.startTime = s;