applied common formatting
This commit is contained in:
@ -3,11 +3,11 @@
|
||||
namespace ManiaControl\Callbacks;
|
||||
|
||||
/**
|
||||
* Interface for CallbackListener
|
||||
* Interface for Callback Listener
|
||||
*
|
||||
* @author steeffeen & kremsy
|
||||
* @copyright ManiaControl Copyright © 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
interface CallbackListener {
|
||||
}
|
||||
|
@ -7,8 +7,8 @@ use ManiaControl\ManiaControl;
|
||||
/**
|
||||
* Class for managing Server and ManiaControl Callbacks
|
||||
*
|
||||
* @author steeffeen & kremsy
|
||||
* @copyright ManiaControl Copyright © 2014 ManiaControl Team
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
class CallbackManager {
|
||||
@ -118,8 +118,8 @@ class CallbackManager {
|
||||
*/
|
||||
public function unregisterCallbackListener(CallbackListener $listener) {
|
||||
$removed = false;
|
||||
foreach($this->callbackListeners as &$listeners) {
|
||||
foreach($listeners as $key => &$listenerCallback) {
|
||||
foreach ($this->callbackListeners as &$listeners) {
|
||||
foreach ($listeners as $key => &$listenerCallback) {
|
||||
if ($listenerCallback[0] != $listener) {
|
||||
continue;
|
||||
}
|
||||
@ -138,8 +138,8 @@ class CallbackManager {
|
||||
*/
|
||||
public function unregisterScriptCallbackListener(CallbackListener $listener) {
|
||||
$removed = false;
|
||||
foreach($this->scriptCallbackListener as &$listeners) {
|
||||
foreach($listeners as $key => &$listenerCallback) {
|
||||
foreach ($this->scriptCallbackListener as &$listeners) {
|
||||
foreach ($listeners as $key => &$listenerCallback) {
|
||||
if ($listenerCallback[0] != $listener) {
|
||||
continue;
|
||||
}
|
||||
@ -150,38 +150,6 @@ class CallbackManager {
|
||||
return $removed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Trigger a specific Callback
|
||||
*
|
||||
* @param string $callbackName
|
||||
*/
|
||||
public function triggerCallback($callbackName) {
|
||||
if (!array_key_exists($callbackName, $this->callbackListeners)) {
|
||||
return;
|
||||
}
|
||||
$params = func_get_args();
|
||||
$params = array_slice($params, 1, count($params), true);
|
||||
foreach($this->callbackListeners[$callbackName] as $listener) {
|
||||
call_user_func_array(array($listener[0], $listener[1]), $params);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trigger a specific Script Callback
|
||||
*
|
||||
* @param string $callbackName
|
||||
*/
|
||||
public function triggerScriptCallback($callbackName) {
|
||||
if (!array_key_exists($callbackName, $this->scriptCallbackListener)) {
|
||||
return;
|
||||
}
|
||||
$params = func_get_args();
|
||||
$params = array_slice($params, 1, count($params), true);
|
||||
foreach($this->scriptCallbackListener[$callbackName] as $listener) {
|
||||
call_user_func_array(array($listener[0], $listener[1]), $params);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trigger internal Callbacks and manage Server Callbacks
|
||||
*/
|
||||
@ -197,7 +165,7 @@ class CallbackManager {
|
||||
$callbacks = $this->maniaControl->client->executeCallbacks();
|
||||
|
||||
// Handle callbacks
|
||||
foreach($callbacks as $callback) {
|
||||
foreach ($callbacks as $callback) {
|
||||
$this->handleCallback($callback);
|
||||
}
|
||||
}
|
||||
@ -209,12 +177,12 @@ class CallbackManager {
|
||||
*/
|
||||
private function handleCallback(array $callback) {
|
||||
$callbackName = $callback[0];
|
||||
switch($callbackName) {
|
||||
switch ($callbackName) {
|
||||
case 'ManiaPlanet.BeginMatch':
|
||||
if ($this->maniaControl->mapManager->getCurrentMap()->getGame() == 'sm') {
|
||||
$this->triggerCallback($callbackName, $callback);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 'ManiaPlanet.BeginMap':
|
||||
$this->maniaControl->mapManager->handleBeginMap($callback);
|
||||
$this->triggerCallback($callbackName, $callback);
|
||||
@ -223,7 +191,7 @@ class CallbackManager {
|
||||
if ($this->maniaControl->mapManager->getCurrentMap()->getGame() == 'sm') {
|
||||
$this->triggerCallback($callbackName, $callback);
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 'ManiaPlanet.EndMap':
|
||||
$this->maniaControl->mapManager->handleEndMap($callback);
|
||||
$this->triggerCallback($callbackName, $callback);
|
||||
@ -242,6 +210,22 @@ class CallbackManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trigger a specific Callback
|
||||
*
|
||||
* @param string $callbackName
|
||||
*/
|
||||
public function triggerCallback($callbackName) {
|
||||
if (!array_key_exists($callbackName, $this->callbackListeners)) {
|
||||
return;
|
||||
}
|
||||
$params = func_get_args();
|
||||
$params = array_slice($params, 1, count($params), true);
|
||||
foreach ($this->callbackListeners[$callbackName] as $listener) {
|
||||
call_user_func_array(array($listener[0], $listener[1]), $params);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the given Script Callback
|
||||
*
|
||||
@ -253,4 +237,20 @@ class CallbackManager {
|
||||
$this->triggerScriptCallback($scriptCallbackName, $scriptCallbackData);
|
||||
$this->triggerCallback(Callbacks::SCRIPTCALLBACK, $scriptCallbackName, $scriptCallbackData[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Trigger a specific Script Callback
|
||||
*
|
||||
* @param string $callbackName
|
||||
*/
|
||||
public function triggerScriptCallback($callbackName) {
|
||||
if (!array_key_exists($callbackName, $this->scriptCallbackListener)) {
|
||||
return;
|
||||
}
|
||||
$params = func_get_args();
|
||||
$params = array_slice($params, 1, count($params), true);
|
||||
foreach ($this->scriptCallbackListener[$callbackName] as $listener) {
|
||||
call_user_func_array(array($listener[0], $listener[1]), $params);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,12 @@
|
||||
<?php
|
||||
namespace ManiaControl\Callbacks;
|
||||
|
||||
//TODO method class for all the libxmlrpc get Methods, to fetch the callback asnyc
|
||||
/**
|
||||
* Callbacks Interface
|
||||
*
|
||||
* @author steeffeen & kremsy
|
||||
* @copyright ManiaControl Copyright © 2014 ManiaControl Team
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
interface Callbacks {
|
||||
|
@ -8,9 +8,9 @@ use ManiaControl\ManiaControl;
|
||||
/**
|
||||
* Class managing & converting LibXmlRpc Callbacks
|
||||
*
|
||||
* @author ManiaControl Team
|
||||
* @copyright ManiaControl Copyright © 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
class LibXmlRpcCallbackManager implements CallbackListener {
|
||||
/*
|
||||
@ -21,7 +21,7 @@ class LibXmlRpcCallbackManager implements CallbackListener {
|
||||
/**
|
||||
* Create a new LibXmlRpc Callbacks Instance
|
||||
*
|
||||
* @param ManiaControl $maniaControl
|
||||
* @param ManiaControl $maniaControl
|
||||
* @param CallbackManager $callbackManager
|
||||
*/
|
||||
public function __construct(ManiaControl $maniaControl, CallbackManager $callbackManager) {
|
||||
@ -33,10 +33,10 @@ class LibXmlRpcCallbackManager implements CallbackListener {
|
||||
* Handle Script Callbacks
|
||||
*
|
||||
* @param string $name
|
||||
* @param array $data
|
||||
* @param array $data
|
||||
*/
|
||||
public function handleScriptCallbacks($name, array $data) {
|
||||
switch($name) {
|
||||
switch ($name) {
|
||||
case 'LibXmlRpc_BeginMatch':
|
||||
$this->maniaControl->callbackManager->triggerCallback(Callbacks::BEGINMATCH, $data[0]);
|
||||
break;
|
||||
|
@ -7,8 +7,8 @@ use ManiaControl\ManiaControl;
|
||||
/**
|
||||
* Class handling and parsing ShootMania Callbacks
|
||||
*
|
||||
* @author steeffeen
|
||||
* @copyright ManiaControl Copyright © 2014 ManiaControl Team
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
class ShootManiaCallbacks implements CallbackListener {
|
||||
@ -28,7 +28,7 @@ class ShootManiaCallbacks implements CallbackListener {
|
||||
/**
|
||||
* Create a new ShootMania Callbacks Instance
|
||||
*
|
||||
* @param ManiaControl $maniaControl
|
||||
* @param ManiaControl $maniaControl
|
||||
* @param CallbackManager $callbackManager
|
||||
*/
|
||||
public function __construct(ManiaControl $maniaControl, CallbackManager $callbackManager) {
|
||||
@ -43,11 +43,11 @@ class ShootManiaCallbacks implements CallbackListener {
|
||||
/**
|
||||
* Handle Script Callbacks
|
||||
*
|
||||
* @param $name
|
||||
* @param $data
|
||||
* @param string $name
|
||||
* @param array $data
|
||||
*/
|
||||
public function handleScriptCallbacks($name, $data) {
|
||||
switch($name) {
|
||||
switch ($name) {
|
||||
case 'LibXmlRpc_Rankings':
|
||||
$this->maniaControl->server->rankingManager->updateRankings($data[0]);
|
||||
break;
|
||||
@ -63,7 +63,7 @@ class ShootManiaCallbacks implements CallbackListener {
|
||||
/**
|
||||
* Triggers the AFK Status of an Player
|
||||
*
|
||||
* @param $login
|
||||
* @param string $login
|
||||
*/
|
||||
private function triggerAfkStatus($login) {
|
||||
$player = $this->maniaControl->playerManager->getPlayer($login);
|
||||
|
@ -5,9 +5,9 @@ namespace ManiaControl\Callbacks;
|
||||
/**
|
||||
* Interface for TimerListener
|
||||
*
|
||||
* @author kremsy
|
||||
* @copyright ManiaControl Copyright © 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
interface TimerListener {
|
||||
}
|
||||
|
@ -7,9 +7,9 @@ use ManiaControl\ManiaControl;
|
||||
/**
|
||||
* Class for managing Timers
|
||||
*
|
||||
* @author kremsy
|
||||
* @copyright ManiaControl Copyright © 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
class TimerManager {
|
||||
/*
|
||||
@ -38,29 +38,13 @@ class TimerManager {
|
||||
$this->registerTimerListening($listener, $method, $time, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister a Timer Listening
|
||||
* @param TimerListener $listener
|
||||
* @param $method
|
||||
* @return bool
|
||||
*/
|
||||
public function unregisterTimerListening(TimerListener $listener, $method){
|
||||
foreach($this->timerListenings as $key => $listening){
|
||||
if($listening->listener == $listener && $listening->method == $method){
|
||||
unset($this->timerListenings[$key]);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register a Timer Listening, note < 10ms it can get inaccurate
|
||||
*
|
||||
* @param TimerListener $listener
|
||||
* @param string $method
|
||||
* @param float $time
|
||||
* @param bool $oneTime
|
||||
* @param TimerListener $listener
|
||||
* @param string $method
|
||||
* @param float $time
|
||||
* @param bool $oneTime
|
||||
* @return bool
|
||||
*/
|
||||
public function registerTimerListening(TimerListener $listener, $method, $time, $oneTime = false) {
|
||||
@ -71,14 +55,14 @@ class TimerManager {
|
||||
|
||||
//Init the Timer Listening
|
||||
// TODO: extra model class
|
||||
$listening = new \stdClass();
|
||||
$listening->listener = $listener;
|
||||
$listening->method = $method;
|
||||
$listening->deltaTime = $time / 1000;
|
||||
$listening->oneTime = $oneTime;
|
||||
if($oneTime){
|
||||
$listening = new \stdClass();
|
||||
$listening->listener = $listener;
|
||||
$listening->method = $method;
|
||||
$listening->deltaTime = $time / 1000;
|
||||
$listening->oneTime = $oneTime;
|
||||
if ($oneTime) {
|
||||
$listening->lastTrigger = microtime(true);
|
||||
}else{
|
||||
} else {
|
||||
$listening->lastTrigger = -1;
|
||||
}
|
||||
array_push($this->timerListenings, $listening);
|
||||
@ -86,6 +70,23 @@ class TimerManager {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister a Timer Listening
|
||||
*
|
||||
* @param TimerListener $listener
|
||||
* @param $method
|
||||
* @return bool
|
||||
*/
|
||||
public function unregisterTimerListening(TimerListener $listener, $method) {
|
||||
foreach ($this->timerListenings as $key => $listening) {
|
||||
if ($listening->listener == $listener && $listening->method == $method) {
|
||||
unset($this->timerListenings[$key]);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove a Timer Listener
|
||||
*
|
||||
@ -94,7 +95,7 @@ class TimerManager {
|
||||
*/
|
||||
public function unregisterTimerListenings(TimerListener $listener) {
|
||||
$removed = false;
|
||||
foreach($this->timerListenings as $key => &$listening) {
|
||||
foreach ($this->timerListenings as $key => &$listening) {
|
||||
if ($listening->listener != $listener) {
|
||||
continue;
|
||||
}
|
||||
@ -109,7 +110,7 @@ class TimerManager {
|
||||
*/
|
||||
public function manageTimings() {
|
||||
$time = microtime(true);
|
||||
foreach($this->timerListenings as $key => &$listening) {
|
||||
foreach ($this->timerListenings as $key => &$listening) {
|
||||
|
||||
if (($listening->lastTrigger + $listening->deltaTime) <= $time) {
|
||||
//Increase the lastTrigger time manually (to improve accuracy)
|
||||
|
Reference in New Issue
Block a user