started to add admin buttons to list
This commit is contained in:
parent
d701bb17e6
commit
e72c03a609
@ -11,6 +11,7 @@ use FML\Controls\Control;
|
|||||||
use FML\Controls\Label;
|
use FML\Controls\Label;
|
||||||
use FML\Controls\Labels\Label_Text;
|
use FML\Controls\Labels\Label_Text;
|
||||||
use FML\Controls\Quads\Quad_Icons64x64_1;
|
use FML\Controls\Quads\Quad_Icons64x64_1;
|
||||||
|
use FML\Controls\Quads\Quad_UIConstruction_Buttons;
|
||||||
use FML\Script\Script;
|
use FML\Script\Script;
|
||||||
use FML\Script\Tooltips;
|
use FML\Script\Tooltips;
|
||||||
use ManiaControl\Admin\AuthenticationManager;
|
use ManiaControl\Admin\AuthenticationManager;
|
||||||
@ -214,6 +215,12 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener {
|
|||||||
$frame = $this->buildMainFrame();
|
$frame = $this->buildMainFrame();
|
||||||
$maniaLink->add($frame);
|
$maniaLink->add($frame);
|
||||||
|
|
||||||
|
// Create script and features
|
||||||
|
$script = new Script();
|
||||||
|
$maniaLink->setScript($script);
|
||||||
|
|
||||||
|
$tooltips = new Tooltips();
|
||||||
|
$script->addFeature($tooltips);
|
||||||
|
|
||||||
//Headline
|
//Headline
|
||||||
$headFrame = new Frame();
|
$headFrame = new Frame();
|
||||||
@ -233,8 +240,48 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener {
|
|||||||
foreach($mapList as $map){
|
foreach($mapList as $map){
|
||||||
$mapFrame = new Frame();
|
$mapFrame = new Frame();
|
||||||
$frame->add($mapFrame);
|
$frame->add($mapFrame);
|
||||||
$this->displayMap($id, $map, $mapFrame);
|
$this->displayMap($id, $map, $mapFrame, $tooltips);
|
||||||
$mapFrame->setY($y);
|
$mapFrame->setY($y);
|
||||||
|
|
||||||
|
//erase map quad
|
||||||
|
$eraseQuad = new Quad_UIConstruction_Buttons();
|
||||||
|
$mapFrame->add($eraseQuad);
|
||||||
|
$eraseQuad->setX($this->width/2 - 5);
|
||||||
|
$eraseQuad->setZ(0.2);
|
||||||
|
$eraseQuad->setSize(4,4);
|
||||||
|
$eraseQuad->setSubStyle($eraseQuad::SUBSTYLE_Erase);
|
||||||
|
//TODO bestätigung?
|
||||||
|
|
||||||
|
//switch to map quad
|
||||||
|
$switchToQuad = new Quad_Icons64x64_1();
|
||||||
|
$mapFrame->add($switchToQuad);
|
||||||
|
$switchToQuad->setX($this->width/2 - 10);
|
||||||
|
$switchToQuad->setZ(0.2);
|
||||||
|
$switchToQuad->setSize(4, 4);
|
||||||
|
$switchToQuad->setSubStyle($switchToQuad::SUBSTYLE_ArrowFastNext);
|
||||||
|
//TODO bestätigung?
|
||||||
|
|
||||||
|
//Description Label
|
||||||
|
$descriptionLabel = new Label();
|
||||||
|
$frame->add($descriptionLabel);
|
||||||
|
$descriptionLabel->setAlign(Control::LEFT, Control::TOP);
|
||||||
|
$descriptionLabel->setPosition($x + 10, -$this->height / 2 + 5);
|
||||||
|
$descriptionLabel->setSize($this->width * 0.7, 4);
|
||||||
|
$descriptionLabel->setTextSize(2);
|
||||||
|
$descriptionLabel->setVisible(false);
|
||||||
|
$descriptionLabel->setText("Remove Map: {$map->name}");
|
||||||
|
$tooltips->add($eraseQuad, $descriptionLabel);
|
||||||
|
|
||||||
|
$descriptionLabel = new Label();
|
||||||
|
$frame->add($descriptionLabel);
|
||||||
|
$descriptionLabel->setAlign(Control::LEFT, Control::TOP);
|
||||||
|
$descriptionLabel->setPosition($x + 10, -$this->height / 2 + 5);
|
||||||
|
$descriptionLabel->setSize($this->width * 0.7, 4);
|
||||||
|
$descriptionLabel->setTextSize(2);
|
||||||
|
$descriptionLabel->setVisible(false);
|
||||||
|
$descriptionLabel->setText("Switch Directly to Map: {$map->name}");
|
||||||
|
$tooltips->add($switchToQuad, $descriptionLabel);
|
||||||
|
|
||||||
$y -= 4;
|
$y -= 4;
|
||||||
$id++;
|
$id++;
|
||||||
if($id == self::MAX_MAPS_PER_PAGE - 1)
|
if($id == self::MAX_MAPS_PER_PAGE - 1)
|
||||||
@ -251,14 +298,13 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener {
|
|||||||
* @param Map $map
|
* @param Map $map
|
||||||
* @param Frame $frame
|
* @param Frame $frame
|
||||||
*/
|
*/
|
||||||
private function displayMap($id, Map $map, Frame $frame){
|
private function displayMap($id, Map $map, Frame $frame, Tooltips $tooltips){
|
||||||
$frame->setZ(0.1);
|
$frame->setZ(0.1);
|
||||||
|
|
||||||
//set starting x-value
|
//set starting x-value
|
||||||
$x = -$this->width / 2;
|
$x = -$this->width / 2;
|
||||||
|
|
||||||
if($this->maniaControl->mapManager->getCurrentMap() == $map){
|
if($this->maniaControl->mapManager->getCurrentMap() === $map){
|
||||||
echo "test";
|
|
||||||
$currentQuad = new Quad_Icons64x64_1();
|
$currentQuad = new Quad_Icons64x64_1();
|
||||||
$frame->add($currentQuad);
|
$frame->add($currentQuad);
|
||||||
$currentQuad->setX($x + 3.5);
|
$currentQuad->setX($x + 3.5);
|
||||||
@ -274,11 +320,12 @@ class MapList implements ManialinkPageAnswerListener, CallbackListener {
|
|||||||
//Display Maps
|
//Display Maps
|
||||||
$array = array($id => $x + 5, $mxId => $x + 10, $map->name => $x + 20, $map->authorNick => $x + 70);
|
$array = array($id => $x + 5, $mxId => $x + 10, $map->name => $x + 20, $map->authorNick => $x + 70);
|
||||||
$this->maniaControl->manialinkManager->labelLine($frame,$array);
|
$this->maniaControl->manialinkManager->labelLine($frame,$array);
|
||||||
//TODO detailed mx info page with link to mx
|
//TODO detailed mx info page with link to mxo
|
||||||
//TODO action detailed map info
|
|
||||||
//TODO action detailed map info
|
//TODO action detailed map info
|
||||||
//TODO later add buttons for jukebox, admin control buttons (remove map, change to map)
|
//TODO later add buttons for jukebox, admin control buttons (remove map, change to map)
|
||||||
//TODO side switch
|
//TODO side switch
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,10 +165,13 @@ class MapManager implements CallbackListener {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
$rpcMap = $this->maniaControl->client->getResponse();
|
$rpcMap = $this->maniaControl->client->getResponse();
|
||||||
|
if(!array_key_exists($rpcMap["UId"], $this->mapListUids)){
|
||||||
$map = new Map($this->maniaControl, $rpcMap);
|
$map = new Map($this->maniaControl, $rpcMap);
|
||||||
$this->addMap($map);
|
$this->addMap($map);
|
||||||
return $map;
|
return $map;
|
||||||
}
|
}
|
||||||
|
return $this->mapListUids[$rpcMap["UId"]];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle OnInit callback
|
* Handle OnInit callback
|
||||||
@ -196,7 +199,7 @@ class MapManager implements CallbackListener {
|
|||||||
*/
|
*/
|
||||||
public function handleBeginMap(array $callback) {
|
public function handleBeginMap(array $callback) {
|
||||||
if(array_key_exists($callback[1][0]["UId"], $this->mapListUids)){ //Map already exists, only update index
|
if(array_key_exists($callback[1][0]["UId"], $this->mapListUids)){ //Map already exists, only update index
|
||||||
$this->currentMap = $this->mapListUids[$rpcMap["UId"]];
|
$this->currentMap = $this->mapListUids[$callback[1][0]["UId"]];
|
||||||
}else{ //can this ever happen?
|
}else{ //can this ever happen?
|
||||||
$this->currentMap = $this->fetchCurrentMapInfo();
|
$this->currentMap = $this->fetchCurrentMapInfo();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user