Changed Internal Callbacks formats to use objects directly instead of an array

This commit is contained in:
Steffen Schröder
2014-02-19 15:44:00 +01:00
parent 36fc15c7b1
commit ff9c21a8af
31 changed files with 176 additions and 206 deletions

View File

@ -79,10 +79,9 @@ class CustomUIManager implements CallbackListener, TimerListener {
/**
* Handle PlayerJoined Callback
*
* @param array $callback
* @param Player $player
*/
public function handlePlayerJoined(array $callback) {
$player = $callback[1];
public function handlePlayerJoined(Player $player) {
$this->updateManialink($player);
}

View File

@ -8,6 +8,7 @@ use FML\ManiaLink;
use ManiaControl\Callbacks\CallbackListener;
use ManiaControl\ManiaControl;
use ManiaControl\Players\PlayerManager;
use ManiaControl\Players\Player;
/**
* Class managing Icons
@ -86,29 +87,26 @@ class IconManager implements CallbackListener {
/**
* Handle OnInit Callback
*
* @param array $callback
*/
public function handleOnInit(array $callback) {
public function handleOnInit() {
$this->preloadIcons();
}
/**
* Handle PlayerConnect Callback
*
* @param array $callback
* @param Player $player
*/
public function handlePlayerConnect(array $callback) {
$login = $callback[1];
$this->preloadIcons($login);
public function handlePlayerConnect(Player $player) {
$this->preloadIcons($player);
}
/**
* Preload Icons
*
* @param string $login
* @param Player $player
*/
public function preloadIcons($login = false) {
public function preloadIcons($player = null) {
$maniaLink = new ManiaLink(self::PRELOAD_MLID);
$frame = new Frame();
$maniaLink->add($frame);
@ -123,6 +121,6 @@ class IconManager implements CallbackListener {
// Send manialink
$manialinkText = $maniaLink->render()->saveXML();
$this->maniaControl->manialinkManager->sendManialink($manialinkText, $login);
$this->maniaControl->manialinkManager->sendManialink($manialinkText, $player);
}
}

View File

@ -138,9 +138,12 @@ class ManialinkManager implements ManialinkPageAnswerListener, CallbackListener
if (is_string($logins)) {
return $this->maniaControl->client->sendDisplayManialinkPage($logins, $manialinkText, $timeout, $hideOnClick);
}
if ($logins instanceof Player) {
return $this->maniaControl->client->sendDisplayManialinkPage($logins->login, $manialinkText, $timeout, $hideOnClick);
}
if (is_array($logins)) {
$success = true;
foreach($logins as $login) {
foreach ($logins as $login) {
$subSuccess = $this->maniaControl->client->sendDisplayManialinkPage($login, $manialinkText, $timeout, $hideOnClick);
if (!$subSuccess) {
$success = false;
@ -201,7 +204,7 @@ class ManialinkManager implements ManialinkPageAnswerListener, CallbackListener
if ($widgetName != '') { //TODO make check by manialinkId, getter is needed to avoid uses on non main widgets
$this->disableAltMenu($player);
// Trigger callback
$this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_OPENED, array(self::CB_MAIN_WINDOW_OPENED, $player, $widgetName));
$this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_OPENED, $player, $widgetName);
}
}
@ -229,7 +232,7 @@ class ManialinkManager implements ManialinkPageAnswerListener, CallbackListener
$this->enableAltMenu($player);
// Trigger callback
$this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_CLOSED, array(self::CB_MAIN_WINDOW_CLOSED, $player));
$this->maniaControl->callbackManager->triggerCallback(self::CB_MAIN_WINDOW_CLOSED, $player);
} else {
$emptyManialink = new ManiaLink($widgetId);
$manialinkText = $emptyManialink->render()->saveXML();