From 6f80df0b8da224ee4dee0e16542e2da51473be42 Mon Sep 17 00:00:00 2001 From: James Turner Date: Wed, 20 Mar 2013 18:10:27 +0000 Subject: [PATCH] NasalTimerObject tweaks. --- src/Scripting/NasalSys.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Scripting/NasalSys.cxx b/src/Scripting/NasalSys.cxx index b7bf068a5..184e75f7e 100644 --- a/src/Scripting/NasalSys.cxx +++ b/src/Scripting/NasalSys.cxx @@ -105,6 +105,8 @@ public: _sys->gcRelease(_gcSelf); } + bool isRunning() const { return _isRunning; } + void stop() { if (_isRunning) { @@ -139,6 +141,9 @@ public: { naRef *args = NULL; _sys->callMethod(_func, _self, 0, args, naNil() /* locals */); + if (_singleShot) { + _isRunning = false; + } } void setSingleShot(bool aSingleShot) @@ -783,7 +788,8 @@ void FGNasalSys::init() .method("start", &TimerObj::start) .method("stop", &TimerObj::stop) .method("restart", &TimerObj::restart) - .member("singleShot", &TimerObj::isSingleShot, &TimerObj::setSingleShot); + .member("singleShot", &TimerObj::isSingleShot, &TimerObj::setSingleShot) + .member("isRunning", &TimerObj::isRunning); // Now load the various source files in the Nasal directory simgear::Dir nasalDir(SGPath(globals->get_fg_root(), "Nasal")); -- 2.39.5