made most work of the stastic collector
This commit is contained in:
parent
ab12cb7da1
commit
73cd13228d
@ -22,7 +22,13 @@ class StatisticCollector implements CallbackListener {
|
|||||||
* Statistics
|
* Statistics
|
||||||
*/
|
*/
|
||||||
const STAT_ON_SHOOT = 'onShoot';
|
const STAT_ON_SHOOT = 'onShoot';
|
||||||
|
const STAT_ON_NEARMISS = 'onNearMiss';
|
||||||
|
const STAT_ON_CAPTURE = 'onCapture';
|
||||||
|
const STAT_ON_HIT = 'onHit';
|
||||||
|
const STAT_ON_GOT_HIT = 'onGotHit';
|
||||||
|
const STAT_ON_DEATH = 'onDeath';
|
||||||
|
const STAT_ON_PLAYER_REQUEST_RESPAWN = 'onPlayerRequestRespawn';
|
||||||
|
const STAT_ON_KILL = 'onKill';
|
||||||
/**
|
/**
|
||||||
* Private Properties
|
* Private Properties
|
||||||
*/
|
*/
|
||||||
@ -48,16 +54,25 @@ class StatisticCollector implements CallbackListener {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* onInit
|
* onInit
|
||||||
|
*
|
||||||
* @param array $callback
|
* @param array $callback
|
||||||
*/
|
*/
|
||||||
public function onInit(array $callback) {
|
public function onInit(array $callback) {
|
||||||
//Define Stats MetaData
|
//Define Stats MetaData
|
||||||
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_SHOOT);
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_SHOOT);
|
||||||
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_NEARMISS);
|
||||||
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_CAPTURE);
|
||||||
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_HIT);
|
||||||
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_GOT_HIT);
|
||||||
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_DEATH);
|
||||||
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_PLAYER_REQUEST_RESPAWN);
|
||||||
|
$this->maniaControl->statisticManager->defineStatMetaData(self::STAT_ON_KILL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle stats on callbacks
|
* Handle stats on callbacks
|
||||||
|
*
|
||||||
* @param array $callback
|
* @param array $callback
|
||||||
*/
|
*/
|
||||||
public function handleCallbacks(array $callback) {
|
public function handleCallbacks(array $callback) {
|
||||||
@ -72,7 +87,68 @@ class StatisticCollector implements CallbackListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var_dump($callback);
|
$callbackName = $callback[1][0];
|
||||||
|
$serverLogin = $this->maniaControl->server->getLogin();
|
||||||
|
|
||||||
|
|
||||||
|
switch($callbackName) {
|
||||||
|
case 'LibXmlRpc_OnShoot': //TODO
|
||||||
|
break;
|
||||||
|
case 'LibXmlRpc_OnHit':
|
||||||
|
$shooter = $this->maniaControl->playerManager->getPlayer($callback[1][0]);
|
||||||
|
$victim = $this->maniaControl->playerManager->getPlayer($callback[1][1]);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_HIT, $shooter, $serverLogin);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_GOT_HIT, $victim, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'LibXmlRpc_OnNearMiss':
|
||||||
|
$player = $this->maniaControl->playerManager->getPlayer($callback[1][0]);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_NEARMISS, $player, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'LibXmlRpc_OnCapture':
|
||||||
|
$player = $this->maniaControl->playerManager->getPlayer($callback[1][0]);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_CAPTURE, $player, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'LibXmlRpc_OnArmorEmpty':
|
||||||
|
$shooter = $this->maniaControl->playerManager->getPlayer($callback[1][0]);
|
||||||
|
$victim = $this->maniaControl->playerManager->getPlayer($callback[1][1]);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_KILL, $shooter, $serverLogin);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_DEATH, $victim, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'LibXmlRpc_OnPlayerRequestRespawn':
|
||||||
|
$player = $this->maniaControl->playerManager->getPlayer($callback[1][0]);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_PLAYER_REQUEST_RESPAWN, $player, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'OnShoot': //TODO
|
||||||
|
break;
|
||||||
|
case 'OnNearMiss':
|
||||||
|
$paramsObject = json_decode($callback[1][1]);
|
||||||
|
$player = $this->maniaControl->playerManager->getPlayer($paramsObject->Event->Shooter->Login);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_NEARMISS, $player, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'OnCapture':
|
||||||
|
$paramsObject = json_decode($callback[1][1]);
|
||||||
|
$player = $this->maniaControl->playerManager->getPlayer($paramsObject->Event->Player->Login);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_CAPTURE, $player, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'OnHit':
|
||||||
|
$paramsObject = json_decode($callback[1][1]);
|
||||||
|
$shooter = $this->maniaControl->playerManager->getPlayer($paramsObject->Event->Shooter->Login);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_HIT, $shooter, $serverLogin);
|
||||||
|
$victim = $this->maniaControl->playerManager->getPlayer($paramsObject->Event->Victim->Login);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_GOT_HIT, $victim, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'OnArmorEmpty':
|
||||||
|
$paramsObject = json_decode($callback[1][1]);
|
||||||
|
$victim = $this->maniaControl->playerManager->getPlayer($paramsObject->Event->Victim->Login);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_DEATH, $victim, $serverLogin);
|
||||||
|
$shooter = $this->maniaControl->playerManager->getPlayer($paramsObject->Event->Shooter->Login);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_KILL, $shooter, $serverLogin);
|
||||||
|
break;
|
||||||
|
case 'OnRequestRespawn':
|
||||||
|
$paramsObject = json_decode($callback[1][1]);
|
||||||
|
$player = $this->maniaControl->playerManager->getPlayer($paramsObject->Event->Player->Login);
|
||||||
|
$this->maniaControl->statisticManager->incrementStat(self::STAT_ON_PLAYER_REQUEST_RESPAWN, $player, $serverLogin);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user