maniaControl = $maniaControl; } /** * Get the Menu Title * * @return string */ public function getTitle() { return self::TITLE; } /** * Get the Configurator Menu Frame * * @param float $width * @param float $height * @param Script $script * @return \FML\Controls\Frame */ public function getMenu($width, $height, Script $script) { $pagesId = 'ManiaControlSettingsPages'; $frame = new Frame(); // Config $pagerSize = 9.; $settingHeight = 5.; $labelTextSize = 2; $pageMaxCount = 13; //Pagers $pagerPrev = new Quad_Icons64x64_1(); $frame->add($pagerPrev); $pagerPrev->setPosition($width * 0.39, $height * -0.44, 2); $pagerPrev->setSize($pagerSize, $pagerSize); $pagerPrev->setSubStyle(Quad_Icons64x64_1::SUBSTYLE_ArrowPrev); $pagerNext = new Quad_Icons64x64_1(); $frame->add($pagerNext); $pagerNext->setPosition($width * 0.45, $height * -0.44, 2); $pagerNext->setSize($pagerSize, $pagerSize); $pagerNext->setSubStyle(Quad_Icons64x64_1::SUBSTYLE_ArrowNext); $script->addPager($pagerPrev, -1, $pagesId); $script->addPager($pagerNext, 1, $pagesId); $pageCountLabel = new Label(); $frame->add($pageCountLabel); $pageCountLabel->setHAlign(Control::RIGHT); $pageCountLabel->setPosition($width * 0.35, $height * -0.44, 1); $pageCountLabel->setStyle('TextTitle1'); $pageCountLabel->setTextSize(2); $script->addPageLabel($pageCountLabel, $pagesId); /** @var ManiaControl/SettingManager $this->maniaControl->settingManager */ $settings = $this->maniaControl->settingManager->getSettings(); $pageFrames = array(); $y = 0; $index = 1; foreach($settings as $setting){ if (!isset($pageFrame)) { $pageFrame = new Frame(); $frame->add($pageFrame); if (!empty($pageFrames)) { $pageFrame->setVisible(false); } array_push($pageFrames, $pageFrame); $y = $height * 0.41; $script->addPage($pageFrame, count($pageFrames), $pagesId); } $settingFrame = new Frame(); $pageFrame->add($settingFrame); $settingFrame->setY($y); $nameLabel = new Label_Text(); $settingFrame->add($nameLabel); $nameLabel->setHAlign(Control::LEFT); $nameLabel->setX($width * -0.46); $nameLabel->setSize($width * 0.4, $settingHeight); $nameLabel->setStyle($nameLabel::STYLE_TextCardSmall); $nameLabel->setTextSize($labelTextSize); $nameLabel->setText($setting->setting); // var_dump($setting); $y -= $settingHeight; if ($index % $pageMaxCount == $pageMaxCount - 1) { unset($pageFrame); } $index++; } return $frame; } /** * Save the Config Data * * @param array $configData * @param Player $player */ public function saveConfigData(array $configData, Player $player) { // TODO: Implement saveConfigData() method. } }