temp solved dissapearing widgets, custom ui

This commit is contained in:
kremsy 2014-03-02 13:29:27 +01:00 committed by Steffen Schröder
parent 795366e542
commit cb1e5b9658
3 changed files with 18 additions and 11 deletions

View File

@ -55,11 +55,12 @@ class CustomUIManager implements CallbackListener, TimerListener {
* @param Player $player * @param Player $player
*/ */
private function updateManialink(Player $player = null) { private function updateManialink(Player $player = null) {
if ($player) { $manialinkText = $this->customUI->render()->saveXML();
$this->maniaControl->manialinkManager->sendManialink($this->customUI, $player->login); /*if ($player) {
$this->maniaControl->manialinkManager->sendManialink($manialinkText, $player->login);
return; return;
} }*/
$this->maniaControl->manialinkManager->sendManialink($this->customUI); $this->maniaControl->manialinkManager->sendManialink($manialinkText);
} }
/** /**
@ -82,6 +83,10 @@ class CustomUIManager implements CallbackListener, TimerListener {
*/ */
public function handlePlayerJoined(Player $player) { public function handlePlayerJoined(Player $player) {
$this->updateManialink($player); $this->updateManialink($player);
//send it again after 10 secs
$this->maniaControl->timerManager->registerOneTimeListening($this, function($time) use (&$player){
$this->updateManialink($player);
},5000);
} }
/** /**

View File

@ -204,7 +204,7 @@ class PlayerManager implements CallbackListener, TimerListener {
//Check if Player finished joining the game //Check if Player finished joining the game
if($player->hasJoinedGame && !$prevJoinState){ if($player->hasJoinedGame && !$prevJoinState){
//Delay join on 5secs to avoid the non appearing widgets in tm //Delay join on 2secs to avoid the non appearing widgets in tm
$this->maniaControl->timerManager->registerOneTimeListening($this, function($time) use (&$player){ $this->maniaControl->timerManager->registerOneTimeListening($this, function($time) use (&$player){
if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_JOIN_LEAVE_MESSAGES) && !$player->isFakePlayer()) { if ($this->maniaControl->settingManager->getSetting($this, self::SETTING_JOIN_LEAVE_MESSAGES) && !$player->isFakePlayer()) {
$string = array(0 => '$0f0Player', 1 => '$0f0Moderator', 2 => '$0f0Admin', 3 => '$0f0SuperAdmin', 4 => '$0f0MasterAdmin'); $string = array(0 => '$0f0Player', 1 => '$0f0Moderator', 2 => '$0f0Admin', 3 => '$0f0SuperAdmin', 4 => '$0f0MasterAdmin');
@ -221,7 +221,7 @@ class PlayerManager implements CallbackListener, TimerListener {
// Trigger own PlayerJoined callback // Trigger own PlayerJoined callback
$this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERCONNECT, $player); $this->maniaControl->callbackManager->triggerCallback(self::CB_PLAYERCONNECT, $player);
}, 2000); }, 1000);
} }
// Trigger own callback // Trigger own callback

View File

@ -158,7 +158,9 @@ class Dedimania implements CallbackListener, TimerListener, Plugin {
$this->updateManialink = false; $this->updateManialink = false;
$manialink = $this->buildManialink(); $manialink = $this->buildManialink();
$this->maniaControl->manialinkManager->sendManialink($manialink); if($manialink != ''){
$this->maniaControl->manialinkManager->sendManialink($manialink);
}
} }
/** /**
@ -201,6 +203,10 @@ class Dedimania implements CallbackListener, TimerListener, Plugin {
if (count($this->maniaControl->playerManager->getPlayers()) == 1) { if (count($this->maniaControl->playerManager->getPlayers()) == 1) {
$this->fetchDedimaniaRecords(true); $this->fetchDedimaniaRecords(true);
} }
//Display the Manialink
$manialink = $this->buildManialink();
$this->maniaControl->manialinkManager->sendManialink($manialink, $player->login);
} }
} }
} else { } else {
@ -209,10 +215,6 @@ class Dedimania implements CallbackListener, TimerListener, Plugin {
var_dump($data); var_dump($data);
} }
} }
$manialink = $this->buildManialink();
$this->maniaControl->manialinkManager->sendManialink($manialink, $player->login);
return true; return true;
}, $content, true); }, $content, true);
} }