improved player action class

This commit is contained in:
kremsy
2013-12-24 12:49:53 +01:00
parent 5926a06654
commit 8827251738
3 changed files with 130 additions and 19 deletions

View File

@ -10,6 +10,7 @@ use ManiaControl\ManiaControl;
use ManiaControl\Callbacks\CallbackListener;
use ManiaControl\Callbacks\CallbackManager;
use ManiaControl\Players\Player;
use ManiaControl\Manialinks\ManialinkPageAnswerListener;
require_once __DIR__ . '/StyleManager.php';
require_once __DIR__ . '/../FML/autoload.php';
@ -19,9 +20,13 @@ require_once __DIR__ . '/../FML/autoload.php';
*
* @author steeffeen & kremsy
*/
class ManialinkManager implements CallbackListener {
class ManialinkManager implements ManialinkPageAnswerListener,CallbackListener {
/*
* Constants
*/
const MAIN_MLID = 'Main.ManiaLinkId';
const ACTION_CLOSEWIDGET = 'ManiaLinkManager.CloseWidget';
/**
* Public properties
*/
@ -43,6 +48,8 @@ class ManialinkManager implements CallbackListener {
$this->styleManager = new StyleManager($maniaControl);
// Register for callbacks
$this->registerManialinkPageAnswerListener(self::ACTION_CLOSEWIDGET , $this,
'closeWidgetCallback');
$this->maniaControl->callbackManager->registerCallbackListener(CallbackManager::CB_MP_PLAYERMANIALINKPAGEANSWER, $this,
'handleManialinkPageAnswer');
}
@ -179,6 +186,16 @@ class ManialinkManager implements CallbackListener {
$this->maniaControl->manialinkManager->disableAltMenu($player);
}
/**
* Closes a widget via the callback
* @param array $callback
* @param Player $player
*/
public function closeWidgetCallback(array $callback, Player $player) {
$this->closeWidget($player);
}
/**
* Closes the Manialink Widget and enables the Alt Menu
* @param Player $player