maniaControl = $maniaControl; $this->initTables(); $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MC_BEGINMAP, $this, 'handleBeginMap'); } /** * Initialize necessary database tables * * @return bool */ private function initTables() { // TODO: Initialize database table return true; } /** * Add a map to the MapList * * @param \ManiaControl\Maps\Map $map * @return bool */ private function addMap(Map $map) { if (!$map) { return false; } // TODO: Save map in database $this->mapList[$map->uid] = $map; return true; } /** * Handle BeginMap callback * * @param array $callback */ public function handleBeginMap(array $callback) { $rpcMap = $this->maniaControl->server->getCurrentMap(); $map = new Map($this->maniaControl, $rpcMap); $this->addMap($map); } }