From ebd4b94c2d26f18bfde389fed910eb69dccd7ced Mon Sep 17 00:00:00 2001 From: jj Date: Sat, 22 Sep 2012 11:57:33 +0200 Subject: ruby: add onupdate_register_once --- plugins/ruby/ruby.rb | 7 +++++++ 1 file changed, 7 insertions(+) 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 -- cgit v1.2.1