コード例 #1
0
ファイル: behavior.py プロジェクト: alon/burst
 def clearFutureCallbacks(self):
     """ cancel callbacks, event registrations """
     for cb in self._calllaters:
         self._eventmanager.cancelCallLater(cb)
     for cb, event in self._registered:
         self._eventmanager.unregister(cb, event)
     if self.verbose and (len(self._calllaters) > 0 or len(self._registered) > 0):
         print "BEM.clearFutureCallbacks: removing CL [%s], E [%s]" % (
             ','.join(func_name(cb) for cb in self._calllaters),
             ','.join('%s->%s' % (event_name(e), func_name(cb)) for cb, e in self._registered))
     del self._calllaters[:]
     self._registered.clear()
     self._cb_to_wrapper.clear()
コード例 #2
0
ファイル: searcher.py プロジェクト: alon/burst
    def _onSeen(self, obj, event):
        self._report("Searcher: seeing %s" % obj.name)
#            print "\nSearcher seeing ball?: (ball seen %s, ball recently seen %s, dist: %3.3f, distSmoothed: %3.3f, ball bearing: %3.3f)" % (
#                self._world.ball.seen, self._world.ball.recently_seen, self._world.ball.dist, self._world.ball.distSmoothed, self._world.ball.bearing)

        #if len(self._eventToCallbackMapping) == 0: return
        if not obj in self.seen_objects:
            self._report("Searcher: first time seen %s" % obj.name)
            #self._eventmanager.unregister(self._onSeen, event)
            if event in self._eventToCallbackMapping:
                self._report("Searcher: unregistering %s (%s)" % (event, burst_events.event_name(event)))
                cb = self._eventToCallbackMapping[event]
                self._eventmanager.unregister(cb, event)
                del self._eventToCallbackMapping[event]
            self.seen_objects.append(obj)
            if self._center_on_targets:
                self._report("Next, I'll center on %s" % obj.name)
                self._searchPlanner.feedNext(obj)
コード例 #3
0
ファイル: eventmanager.py プロジェクト: burst/burst
 def register(self, callback, event):
     """ set a callback on an event.
     """
     # add to _callbacks
     assert(callable(callback))
     if callback not in self._callbacks:
         self._callbacks[callback] = set()
     if event in self._callbacks[callback]:
         if burst.options.verbose_reregister:
             info( "WARNING: harmless re-register of %s to %s" % (func_name(callback), event_name(event)))
         return
     self._callbacks[callback].add(event)
     # add to _events
     self._events[event].add(callback)
     if self.verbose:
         info( "EventManager: #_events[%d] = %s" % (event, len(self._events[event])))