scripts/rawdata/pytreeros/smarc-project_smarc_missions_reactive_seq.py
def tick(self):
        """
        Run the tick behaviour for this selector. Note that the status
        of the tick is always determined by its children, not
        by the user customised update function.

        Yields:
            :class:`~py_trees.behaviour.Behaviour`: a reference to itself or one of its children
        """
        self.logger.debug("%s.tick()" % self.__class__.__name__)
        # Required behaviour for *all* behaviours and composites is
        # for tick() to check if it isn't running and initialise
        if self.status != pt.Status.RUNNING:
            # selectors dont do anything specific on initialisation
            #   - the current child is managed by the update, never needs to be 'initialised'
            # run subclass (user) handles
            self.initialise()
        # run any work designated by a customised instance of this class
        self.update()
        previous = self.current_child
        for child in self.children:
            for node in child.tick():
                yield node
                if node is child:
                    if node.status == pt.Status.RUNNING or node.status == pt.Status.FAILURE:
                        self.current_child = child
                        self.status = node.status
                        if previous is None or previous != self.current_child:
                            # we interrupted, invalidate everything at a lower priority
                            passed = False
                            for child in self.children:
                                if passed:
                                    if child.status != pt.Status.INVALID:
                                        child.stop(pt.Status.INVALID)
                                passed = True if child == self.current_child else passed
                        yield self
                        return
        # all children failed, set failure ourselves and current child to the last bugger who failed us
        # omg i love this comment /Ozer
        self.status = pt.Status.FAILURE
        try:
            self.current_child = self.children[-1]
        except IndexError:
            self.current_child = None
        yield self

        Run the tick behaviour for this selector. Note that the status
        of the tick is always determined by its children, not
        by the user customised update function.

        Yields:
            :class:`~py_trees.behaviour.Behaviour`: a reference to itself or one of its children
        
Run the tick behaviour for this selector. Note that the status
of the tick is always determined by its children, not
by the user customised update function.
Run the tick behaviour for this selector . Note that the status of the tick is always determined by its children not by the user customised update function .
def tick(self):
        self.logger.debug("%s.tick()" % self.__class__.__name__)
        if self.status != pt.Status.RUNNING:
            self.initialise()
        self.update()
        previous = self.current_child
        for child in self.children:
            for node in child.tick():
                yield node
                if node is child:
                    if node.status == pt.Status.RUNNING or node.status == pt.Status.FAILURE:
                        self.current_child = child
                        self.status = node.status
                        if previous is None or previous != self.current_child:
                            passed = False
                            for child in self.children:
                                if passed:
                                    if child.status != pt.Status.INVALID:
                                        child.stop(pt.Status.INVALID)
                                passed = True if child == self.current_child else passed
                        yield self
                        return
        self.status = pt.Status.FAILURE
        try:
            self.current_child = self.children[-1]
        except IndexError:
            self.current_child = None
        yield self
def tick ( self ) : self . logger . debug ( "%s.tick()" % self . __class__ . __name__ ) if self . status != pt . Status . RUNNING : self . initialise ( ) self . update ( ) previous = self . current_child for child in self . children : for node in child . tick ( ) : yield node if node is child : if node . status == pt . Status . RUNNING or node . status == pt . Status . FAILURE : self . current_child = child self . status = node . status if previous is None or previous != self . current_child : passed = False for child in self . children : if passed : if child . status != pt . Status . INVALID : child . stop ( pt . Status . INVALID ) passed = True if child == self . current_child else passed yield self return self . status = pt . Status . FAILURE try : self . current_child = self . children [ - 1 ] except IndexError : self . current_child = None yield self
Run the tick behaviour for this selector.
Run the tick behaviour for this selector .
"""
        Run the tick behaviour for this selector. Note that the status
        of the tick is always determined by its children, not
        by the user customised update function.

        Yields:
            :class:`~py_trees.behaviour.Behaviour`: a reference to itself or one of its children
        """ # Required behaviour for *all* behaviours and composites is # for tick() to check if it isn't running and initialise # selectors dont do anything specific on initialisation #   - the current child is managed by the update, never needs to be 'initialised' # run subclass (user) handles # run any work designated by a customised instance of this class # we interrupted, invalidate everything at a lower priority # all children failed, set failure ourselves and current child to the last bugger who failed us # omg i love this comment /Ozer
:class:`~py_trees.behaviour.Behaviour`: a reference to itself or one of its children
: class : ` ~py_trees . behaviour . Behaviour ` : a reference to itself or one of its children
self