2 CLASS(Animation) EXTENDS(Object)
3 METHOD(Animation, setTimeStartEnd, void(entity, float, float))
4 METHOD(Animation, setTimeStartDuration, void(entity, float, float))
5 METHOD(Animation, setValueStartEnd, void(entity, float, float))
6 METHOD(Animation, setValueStartDelta, void(entity, float, float))
7 METHOD(Animation, setObjectSetter, void(entity, entity, void(entity, float)))
8 METHOD(Animation, tick, void(entity, float))
9 METHOD(Animation, isFinished, float(entity))
10 METHOD(Animation, stopAnim, void(entity))
11 METHOD(Animation, finishAnim, void(entity))
12 ATTRIB(Animation, object, entity, NULL)
13 ATTRIB(Animation, setter, void(entity, float), setterDummy)
14 ATTRIB(Animation, math, float(float, float, float, float), linear)
15 ATTRIB(Animation, value, float, 0)
16 ATTRIB(Animation, startTime, float, 0)
17 ATTRIB(Animation, duration, float, 0)
18 ATTRIB(Animation, startValue, float, 0)
19 ATTRIB(Animation, delta, float, 0)
20 ATTRIB(Animation, finished, float, FALSE)
22 entity makeHostedAnimation(entity, void(entity, float), float, float, float);
23 entity makeAnimation(entity, void(entity, float), float, float, float);
24 float linear(float, float, float, float);
25 void setterDummy(entity, float);
29 entity makeHostedAnimation(entity obj, void(entity, float) setter, float duration, float start, float end)
32 me = makeAnimation(obj, setter, duration, start, end);
33 anim.addAnim(anim, me);
37 entity makeAnimation(entity obj, void(entity, float) setter, float duration, float start, float end)
40 me = spawnAnimation();
41 me.setObjectSetter(me, obj, setter);
42 me.setTimeStartDuration(me, time, duration);
43 me.setValueStartEnd(me, start, end);
47 void setTimeStartEndAnimation(entity me, float s, float e)
53 void setTimeStartDurationAnimation(entity me, float s, float d)
59 void setValueStartEndAnimation(entity me, float s, float e)
65 void setValueStartDeltaAnimation(entity me, float s, float d)
71 void setObjectSetterAnimation(entity me, entity o, void(entity, float) s)
77 void tickAnimation(entity me, float time)
79 me.value = me.math((time - me.startTime), me.duration, me.startValue, me.delta);
80 me.setter(me.object, me.value);
81 if (time > (me.startTime + me.duration))
85 float isFinishedAnimation(entity me)
90 void stopAnimAnimation(entity me)
94 void finishAnimAnimation(entity me)
99 float linear(float time, float duration, float start, float delta)
102 return delta + start;
103 return (delta * (time / duration)) + start;
106 void setterDummy(entity object, float value)