Panda3D
Public Member Functions

EventGroup Class Reference

Inheritance diagram for EventGroup:
DirectObject

List of all members.

Public Member Functions

def __init__
def __repr__
def addEvent
def destroy
def getDoneEvent
def getName
def isCompleted
def newEvent

Detailed Description

This class allows you to group together multiple events and treat
them as a single event. The EventGroup will not send out its event until
all of its sub-events have occured.

Constructor & Destructor Documentation

def __init__ (   self,
  name,
  subEvents = None,
  doneEvent = None 
)
Provide a meaningful name to aid debugging.

doneEvent is optional. If not provided, a unique done event will be
generated and is available as EventGroup.getDoneEvent().

Examples:

# waits for gotRed and gotBlue, then sends out 'gotColors'
EventGroup('getRedAndBlue', ('gotRed', 'gotBlue'), doneEvent='gotColors')

# waits for two interests to close, then calls self._handleBothInterestsClosed()
# uses EventGroup.getDoneEvent() and EventGroup.newEvent() to generate unique,
# disposable event names
eGroup = EventGroup('closeInterests')
self.acceptOnce(eGroup.getDoneEvent(), self._handleBothInterestsClosed)
base.cr.closeInterest(interest1, event=eGroup.newEvent('closeInterest1'))
base.cr.closeInterest(interest2, event=eGroup.newEvent('closeInterest2'))

Member Function Documentation

def __repr__ (   self)
def addEvent (   self,
  eventName 
)
Adds a new event to the list of sub-events that we're waiting on.
Returns the name of the event. 
def destroy (   self)
def getDoneEvent (   self)
def getName (   self)
def isCompleted (   self)
def newEvent (   self,
  name 
)
Pass in an event name and it will be unique-ified for you and added
to this EventGroup. TIP: there's no need to repeat information in this event
name that is already in the name of the EventGroup object.
Returns the new event name. 
 All Classes Namespaces Functions Variables Properties