diff --git a/application/plugins/WidgetPlugin.php b/application/plugins/WidgetPlugin.php index f2561c21..aaeb032c 100644 --- a/application/plugins/WidgetPlugin.php +++ b/application/plugins/WidgetPlugin.php @@ -1,29 +1,27 @@ maniaControl = $maniaControl; - + // Set CustomUI Setting $this->maniaControl->manialinkManager->customUIManager->setChallengeInfoVisible(false); - + // Register for callbacks $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MC_ONINIT, $this, 'handleOnInit'); $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MC_BEGINMAP, $this, 'handleOnBeginMap'); $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MC_ENDMAP, $this, 'handleOnEndMap'); $this->maniaControl->callbackManager->registerCallbackListener(PlayerManager::CB_PLAYERJOINED, $this, 'handlePlayerConnect'); $this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MC_1_MINUTE, $this, 'handleEveryMinute'); - + $this->maniaControl->settingManager->initSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED, true); $this->maniaControl->settingManager->initSetting($this, self::SETTING_MAP_WIDGET_POSX, 160 - 20); $this->maniaControl->settingManager->initSetting($this, self::SETTING_MAP_WIDGET_POSY, 90 - 4.5); $this->maniaControl->settingManager->initSetting($this, self::SETTING_MAP_WIDGET_WIDTH, 40); $this->maniaControl->settingManager->initSetting($this, self::SETTING_MAP_WIDGET_HEIGHT, 9.); - + $this->maniaControl->settingManager->initSetting($this, self::SETTING_SERVERINFO_WIDGET_ACTIVATED, true); $this->maniaControl->settingManager->initSetting($this, self::SETTING_SERVERINFO_WIDGET_POSX, -160 + 17.5); $this->maniaControl->settingManager->initSetting($this, self::SETTING_SERVERINFO_WIDGET_POSY, 90 - 4.5); $this->maniaControl->settingManager->initSetting($this, self::SETTING_SERVERINFO_WIDGET_WIDTH, 35); $this->maniaControl->settingManager->initSetting($this, self::SETTING_SERVERINFO_WIDGET_HEIGHT, 9.); - + $this->maniaControl->settingManager->initSetting($this, self::SETTING_NEXTMAP_WIDGET_ACTIVATED, true); $this->maniaControl->settingManager->initSetting($this, self::SETTING_NEXTMAP_WIDGET_POSX, 160 - 20); $this->maniaControl->settingManager->initSetting($this, self::SETTING_NEXTMAP_WIDGET_POSY, 90 - 25.5); $this->maniaControl->settingManager->initSetting($this, self::SETTING_NEXTMAP_WIDGET_WIDTH, 40); $this->maniaControl->settingManager->initSetting($this, self::SETTING_NEXTMAP_WIDGET_HEIGHT, 12.); - + $this->maniaControl->settingManager->initSetting($this, self::SETTING_CLOCK_WIDGET_ACTIVATED, true); $this->maniaControl->settingManager->initSetting($this, self::SETTING_CLOCK_WIDGET_POSX, 160 - 5); $this->maniaControl->settingManager->initSetting($this, self::SETTING_CLOCK_WIDGET_POSY, 90 - 11); $this->maniaControl->settingManager->initSetting($this, self::SETTING_CLOCK_WIDGET_WIDTH, 10); $this->maniaControl->settingManager->initSetting($this, self::SETTING_CLOCK_WIDGET_HEIGHT, 5.5); - + return true; } /** * Unload the plugin and its resources */ - public function unload() { + public function unload() + { $this->maniaControl->callbackManager->unregisterCallbackListener($this); unset($this->maniaControl); } /** * Displays the Clock Widget - * + * * @param bool $login */ - public function displayClockWidget($login = false) { + public function displayClockWidget($login = false) + { $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_POSX); $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_POSY); $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_WIDTH); $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_HEIGHT); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); - + $maniaLink = new ManiaLink(self::MLID_CLOCKWIDGET); - + // mainframe $frame = new Frame(); $maniaLink->add($frame); $frame->setSize($width, $height); $frame->setPosition($pos_x, $pos_y); - + // Background Quad $backgroundQuad = new Quad(); $frame->add($backgroundQuad); $backgroundQuad->setSize($width, $height); $backgroundQuad->setStyles($quadStyle, $quadSubstyle); - + $localTime = date("H:i", time()); - + $label = new Label_Text(); $frame->add($label); $label->setY(1.5); @@ -164,7 +165,7 @@ class WidgetPlugin implements CallbackListener, Plugin { $label->setTextSize(1); $label->setText($localTime); $label->setTextColor("FFF"); - + // Send manialink $manialinkText = $maniaLink->render()->saveXML(); $this->maniaControl->manialinkManager->sendManialink($manialinkText, $login); @@ -175,7 +176,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param bool $login */ - public function displayNextMapWidget($login = false) { + public function displayNextMapWidget($login = false) + { $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_POSX); $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_POSY); $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_WIDTH); @@ -183,24 +185,24 @@ class WidgetPlugin implements CallbackListener, Plugin { $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); $labelStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultLabelStyle(); - + $maniaLink = new ManiaLink(self::MLID_NEXTMAPWIDGET); - + // mainframe $frame = new Frame(); $maniaLink->add($frame); $frame->setSize($width, $height); $frame->setPosition($pos_x, $pos_y); - + // Background Quad $backgroundQuad = new Quad(); $frame->add($backgroundQuad); $backgroundQuad->setSize($width, $height); $backgroundQuad->setStyles($quadStyle, $quadSubstyle); - + // Check if the Next Map is a queued Map $queuedMap = $this->maniaControl->mapManager->mapQueue->getNextMap(); - + /** * @var Player $requester */ @@ -211,14 +213,13 @@ class WidgetPlugin implements CallbackListener, Plugin { $map = $this->maniaControl->client->getResponse(); $name = $map['Name']; $author = $map['Author']; - } - else { + } else { $requester = $queuedMap[0]; $map = $queuedMap[1]; $name = $map->name; $author = $map->authorLogin; } - + $label = new Label_Text(); $frame->add($label); $label->setY($height / 2 - 2.3); @@ -229,7 +230,7 @@ class WidgetPlugin implements CallbackListener, Plugin { $label->setText("Next Map"); $label->setTextColor("FFF"); $label->setStyle($labelStyle); - + $label = new Label_Text(); $frame->add($label); $label->setY($height / 2 - 5.5); @@ -239,19 +240,19 @@ class WidgetPlugin implements CallbackListener, Plugin { $label->setTextSize(1.3); $label->setText($name); $label->setTextColor("FFF"); - + $label = new Label_Text(); $frame->add($label); $label->setX(0); $label->setY(-$height / 2 + 4); - + $label->setAlign(Control::CENTER, Control::CENTER); $label->setZ(0.2); $label->setTextSize(1); $label->setScale(0.8); $label->setText($author); $label->setTextColor("FFF"); - + if ($requester != null) { $label = new Label_Text(); $frame->add($label); @@ -265,7 +266,7 @@ class WidgetPlugin implements CallbackListener, Plugin { $label->setTextColor("F80"); $label->setText("Requested by " . $requester->nickname); } - + // Send manialink $manialinkText = $maniaLink->render()->saveXML(); $this->maniaControl->manialinkManager->sendManialink($manialinkText, $login); @@ -276,36 +277,37 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param String $login */ - public function displayServerInfoWidget($login = false) { + public function displayServerInfoWidget($login = false) + { $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_POSX); $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_POSY); $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_WIDTH); $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_SERVERINFO_WIDGET_HEIGHT); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); - + $maniaLink = new ManiaLink(self::MLID_SERVERINFOWIDGET); - + // mainframe $frame = new Frame(); $maniaLink->add($frame); $frame->setSize($width, $height); $frame->setPosition($pos_x, $pos_y); - + // Background Quad $backgroundQuad = new Quad(); $frame->add($backgroundQuad); $backgroundQuad->setSize($width, $height); $backgroundQuad->setStyles($quadStyle, $quadSubstyle); - + $this->maniaControl->client->query('GetMaxPlayers'); $maxPlayers = $this->maniaControl->client->getResponse(); - + $this->maniaControl->client->query('GetMaxSpectators'); $maxSpectators = $this->maniaControl->client->getResponse(); - + $serverName = $this->maniaControl->server->getName(); - + $players = $this->maniaControl->playerManager->getPlayers(); $playerCount = 0; $spectatorCount = 0; @@ -318,7 +320,7 @@ class WidgetPlugin implements CallbackListener, Plugin { else $playerCount++; } - + $label = new Label_Text(); $frame->add($label); @@ -331,20 +333,20 @@ class WidgetPlugin implements CallbackListener, Plugin { // Player Quad / Label $label = new Label_Text(); $frame->add($label); - $label->setPosition(-$width /2 + 9, -1.5, 0.2); + $label->setPosition(-$width / 2 + 9, -1.5, 0.2); $label->setAlign(Control::LEFT, Control::CENTER); $label->setTextSize(1); $label->setScale(0.8); $label->setText($playerCount . " / " . $maxPlayers['NextValue']); $label->setTextColor("FFF"); - + $quad = new Quad_Icons128x128_1(); $frame->add($quad); $quad->setSubStyle($quad::SUBSTYLE_Multiplayer); - $quad->setPosition(-$width /2 + 7, -1.6, 0.2); + $quad->setPosition(-$width / 2 + 7, -1.6, 0.2); $quad->setSize(2.5, 2.5); $quad->setHAlign(Control::CENTER); - + // Spectator Quad / Label $label = new Label_Text(); $frame->add($label); @@ -354,16 +356,16 @@ class WidgetPlugin implements CallbackListener, Plugin { $label->setScale(0.8); $label->setText($spectatorCount . " / " . $maxSpectators['NextValue']); $label->setTextColor("FFF"); - + $quad = new Quad_Icons64x64_1(); $frame->add($quad); $quad->setSubStyle($quad::SUBSTYLE_Camera); $quad->setPosition(0, -1.6, 0.2); $quad->setSize(3.3, 2.5); $quad->setHAlign(Control::CENTER); - + // Favorite quad - $quad = new Quad_Icons64x64_1(); + $quad = new Quad_Icons64x64_1(); $quad = new Quad_Icons128x128_1(); $frame->add($quad); // $quad->setSubStyle($quad::SUBSTYLE_StateFavourite); @@ -372,7 +374,7 @@ class WidgetPlugin implements CallbackListener, Plugin { $quad->setSize(4, 4); $quad->setHAlign(Control::CENTER); // $TODO add server to favorite - + // Send manialink $manialinkText = $maniaLink->render()->saveXML(); $this->maniaControl->manialinkManager->sendManialink($manialinkText, $login); @@ -383,33 +385,34 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param String $login */ - public function displayMapWidget($login = false) { + public function displayMapWidget($login = false) + { $pos_x = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_POSX); $pos_y = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_POSY); $width = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_WIDTH); $height = $this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_HEIGHT); $quadStyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadStyle(); $quadSubstyle = $this->maniaControl->manialinkManager->styleManager->getDefaultQuadSubstyle(); - + $maniaLink = new ManiaLink(self::MLID_MAPWIDGET); $script = new Script(); $maniaLink->setScript($script); - + // mainframe $frame = new Frame(); $maniaLink->add($frame); $frame->setSize($width, $height); $frame->setPosition($pos_x, $pos_y); - + // Background Quad $backgroundQuad = new Quad(); $frame->add($backgroundQuad); $backgroundQuad->setSize($width, $height); $backgroundQuad->setStyles($quadStyle, $quadSubstyle); $script->addMapInfoButton($backgroundQuad); - + $map = $this->maniaControl->mapManager->getCurrentMap(); - + $label = new Label_Text(); $frame->add($label); $label->setY(1.5); @@ -419,30 +422,30 @@ class WidgetPlugin implements CallbackListener, Plugin { $label->setTextSize(1.3); $label->setText($map->name); $label->setTextColor("FFF"); - + $label = new Label_Text(); $frame->add($label); $label->setX(0); $label->setY(-1.4); - + $label->setAlign(Control::CENTER, Control::CENTER); $label->setZ(0.2); $label->setTextSize(1); $label->setScale(0.8); $label->setText($map->authorLogin); $label->setTextColor("FFF"); - + if (isset($map->mx->pageurl)) { $quad = new Quad(); $frame->add($quad); $quad->setImage("http://wiki.maniaplanet.com/pool/images/b/bf/ManiaExchange_logo.png"); // TODO include image into - // maniacontrol + // maniacontrol $quad->setPosition(-$width / 2 + 4, -1.5, -0.5); $quad->setSize(4, 4); $quad->setHAlign(Control::CENTER); $quad->setUrl($map->mx->pageurl); } - + // Send manialink $manialinkText = $maniaLink->render()->saveXML(); $this->maniaControl->manialinkManager->sendManialink($manialinkText, $login); @@ -453,7 +456,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param $widgetId */ - public function closeWidget($widgetId) { + public function closeWidget($widgetId) + { $emptyManialink = new ManiaLink($widgetId); $manialinkText = $emptyManialink->render()->saveXML(); $this->maniaControl->manialinkManager->sendManialink($manialinkText); @@ -464,7 +468,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param array $callback */ - public function handleOnInit(array $callback) { + public function handleOnInit(array $callback) + { // Display Map Widget if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { $this->displayMapWidget(); @@ -482,7 +487,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param array $callback */ - public function handleOnBeginMap(array $callback) { + public function handleOnBeginMap(array $callback) + { // Display Map Widget if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { $this->displayMapWidget(); @@ -495,7 +501,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param array $callback */ - public function handleOnEndMap(array $callback) { + public function handleOnEndMap(array $callback) + { // Display Map Widget if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_NEXTMAP_WIDGET_ACTIVATED)) { $this->displayNextMapWidget(); @@ -507,7 +514,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param array $callback */ - public function handlePlayerConnect(array $callback) { + public function handlePlayerConnect(array $callback) + { $player = $callback[1]; // Display Map Widget if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_MAP_WIDGET_ACTIVATED)) { @@ -526,7 +534,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @param array $callback */ - public function handleEveryMinute(array $callback) { + public function handleEveryMinute(array $callback) + { if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_CLOCK_WIDGET_ACTIVATED)) { $this->displayClockWidget(); } @@ -537,7 +546,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @return int */ - public static function getId() { + public static function getId() + { return self::PLUGIN_ID; } @@ -546,7 +556,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @return string */ - public static function getName() { + public static function getName() + { return self::PLUGIN_NAME; } @@ -555,7 +566,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @return float,, */ - public static function getVersion() { + public static function getVersion() + { return self::PLUGIN_VERSION; } @@ -564,7 +576,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @return string */ - public static function getAuthor() { + public static function getAuthor() + { return self::PLUGIN_AUTHOR; } @@ -573,7 +586,8 @@ class WidgetPlugin implements CallbackListener, Plugin { * * @return string */ - public static function getDescription() { + public static function getDescription() + { return null; } } \ No newline at end of file