summaryrefslogtreecommitdiff
path: root/plugins/ruby/ruby.rb
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ruby/ruby.rb')
-rw-r--r--plugins/ruby/ruby.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/plugins/ruby/ruby.rb b/plugins/ruby/ruby.rb
index ef6af04e..aeae101d 100644
--- a/plugins/ruby/ruby.rb
+++ b/plugins/ruby/ruby.rb
@@ -81,6 +81,13 @@ module DFHack
end
end
+ # same as onupdate_register, but remove the callback once it returns true
+ def onupdate_register_once(*a)
+ handle = onupdate_register(*a) {
+ onupdate_unregister(handle) if yield
+ }
+ end
+
TICKS_PER_YEAR = 1200*28*12
# this method is called by dfhack every 'onupdate' if onupdate_active is true
def onupdate