how to messenger.send trigger many function from one key?

Finally i’ve got the answer of my own question.

First, don’t try my late solution, changing base._messengerId=(‘ShowBase’,‘unique_id’) will result many flaws, sometimes it works perfectly but in other case it may got jammed.

After reading this thread:
[url]Panda's event handling...]
i’ve got these conclusions:

  • DirectObject need to be created for creating an unique messenger acceptation (i’ve never use it before though, and don’t understand why it should be there, besides the implementation looks odd)

  • The only purpose to reassign the DirectObject in each class i’ve found so far is just to create an unique id of each messenger accept… what a waste.

  • messenger is one of the best and the most usefull function in panda, it allows developer to communicate each object without passing variables to each other. Thus i really really recommend this one to be perfected.

  • if it only about the id then why not find another workaround, there are many ways to do the uniqueness, maybe like this:
    base.accept(‘key’,unique_id=None)
    if unique_id is not present then the old dictionary will be replaced,
    while if different unique_id assigned then it will create a new acceptation list.

  • and i recommend using just the base, one for all, all for all, why not, besides it will simplify user’s logic anyway.