Changed Internal Callbacks formats to use objects directly instead of an array
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
@ -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();
|
||||
|
Reference in New Issue
Block a user