- initial commit with source from Marius_A (2017-10)

This commit is contained in:
Slawek Mikula
2017-10-10 08:25:37 +02:00
parent ee99ad8ed1
commit 27f0425089
358 changed files with 119804 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
__mission.timer = {current_time: nil};
var dtN = props.getNode("/sim/time/delta-sec");
mission.addExtension("MissionObject", {
type: "timer-trigger",
new: func(n) {
var m = {
parents : [me],
name : n.getValue("name"),
current_time : 0,
_activated : mission.get(n, "activated", 0),
_single_shot : mission.get(n, "single-shot", 1),
_on_scr_timer : mission.get(n, "on-screen-timer", 0),
_start_t : num(mission.get(n, "start-time", 0)),
_stop_t : num(mission.get(n, "stop-time", 0)),
_stays_visible : mission.get(n, "stays-visible", 0),
_actions : n.getNode("actions", 0),
};
m._d = (m._stop_t >= m._start_t) ? 1 : -1;
m.current_time = m._start_t;
m.timer = maketimer(0, func m._loop());
#m.timer.singleShot = m._single_shot;
if (m._activated)
m.start();
return m;
},
start: func {
me.timer.start();
if (me._on_scr_timer)
setprop("/sim/mission/timer/start-timer", 1);
},
restart: func me.current_time = me._start_t,
adjust: func(t) me.current_time += t,
stop: func {
me.timer.stop();
if (me._on_scr_timer)
setprop("/sim/mission/timer/stop-timer", 1);
},
del: func me.stop(),
_trigger: func {
if (me._actions == nil)
return;
mission.activate_object_group(me._actions);
},
_loop: func {
me.current_time += me._d * dtN.getValue();
if (me._on_scr_timer)
__mission.timer.current_time = me.current_time;
if ((me.current_time >= math.max(me._start_t, me._stop_t)) or
(me.current_time <= math.min(me._start_t, me._stop_t)) )
{
me._trigger();
me.stop();
}
},
});