Example #1
0
 public function addListener(Listener $callback)
 {
     $type = $callback->getType();
     $id = $callback->getId();
     if (!isset($this->listeners[$type])) {
         $this->listeners[$type] = ['id' => [], 'global' => []];
     }
     if ($id) {
         if (!isset($this->listeners[$type]['id'][$id])) {
             $this->listeners[$type]['id'][$id] = [];
         }
         $this->listeners[$type]['id'][$id][] = $callback;
     } else {
         $this->listeners[$type]['global'][] = $callback;
     }
 }