added some shootmania callbacks
This commit is contained in:
parent
7a668b53ba
commit
f15dab5d42
@ -47,8 +47,8 @@ interface Callbacks {
|
||||
const MP_ENDTURNEND = 'Callbacks.ManiaPlanetEndTurnEnd';
|
||||
const MP_ENDROUNDSTART = 'Callbacks.ManiaPlanetEndRoundStart';
|
||||
const MP_ENDROUNDEND = 'Callbacks.ManiaPlanetEndRoundEnd';
|
||||
const MP_ENDMAPSTART = 'Callbacks.ManiaPlanetEndMapStart';
|
||||
const MP_ENDMAPEND = 'Callbacks.ManiaPlanetEndMapEnd';
|
||||
//const MP_ENDMAPSTART = 'Callbacks.ManiaPlanetEndMapStart';
|
||||
//const MP_ENDMAPEND = 'Callbacks.ManiaPlanetEndMapEnd';
|
||||
const MP_ENDMATCHSTART = 'Callbacks.ManiaPlanetEndMatchStart';
|
||||
const MP_ENDMATCHEND = 'Callbacks.ManiaPlanetEndMatchEnd';
|
||||
const MP_ENDSERVERSTART = 'Callbacks.ManiaPlanetEndServerStart';
|
||||
@ -60,6 +60,24 @@ interface Callbacks {
|
||||
const MP_PODIUMSTART = 'Callbacks.ManiaPlanetPodiumStart';
|
||||
const MP_PODIUMEND = 'Callbacks.ManiaPlanetPodiumEnd';
|
||||
|
||||
const SM_EVENTDEFAULT = "Shootmania.Event.Default";
|
||||
const SM_ONSHOOT = "Shootmania.Event.OnShoot";
|
||||
const SM_ONHIT = "Shootmania.Event.OnHit";
|
||||
const SM_ONNEARMISS = "Shootmania.Event.OnNearMiss";
|
||||
const SM_ONARMOREMPTY = "Shootmania.Event.OnArmorEmpty";
|
||||
const SM_ONCAPTURE = "Shootmania.Event.OnCapture";
|
||||
const SM_ONSHOTDENY = "Shootmania.Event.OnShotDeny";
|
||||
const SM_ONFALLDAMAGE = "Shootmania.Event.OnFallDamage";
|
||||
const SM_ONCOMMAND = "Shootmania.Event.OnCommand";
|
||||
//Shootmania.Event.OnPlayerRemoved Shootmania.Event.OnPlayerAdded not needed yet
|
||||
const SM_ONPLAYERREQUESTRESAWPN = "Shootmania.Event.OnPlayerRequestRespawn";
|
||||
const SM_ONACTIONCUSTOMEVENT = "Shootmania.Event.OnActionCustomEvent";
|
||||
const SM_ONACTIONEVENT = "Shootmania.Event.OnActionEvent";
|
||||
const SM_ONPLAYERTOUCHESOBJECT = "Shootmania.Event.OnPlayerTouchesObject";
|
||||
const SM_ONPLAYERTRIGGERSSECTOR = "Shootmania.Event.OnPlayerTriggersSector";
|
||||
const SM_ONPLAYERTHROWSOBJECT = "Shootmania.Event.OnPlayerThrowsObject";
|
||||
const SM_ONPLAYERREQUESTACTIONCHANGE = "Shootmania.Event.OnPlayerRequestActionChange";
|
||||
|
||||
//ManiaControl Callbacks
|
||||
/** BeginMap Callback: Map */
|
||||
const BEGINMAP = 'Callbacks.BeginMap';
|
||||
|
@ -70,7 +70,7 @@ class EchoManager implements CallbackListener, EchoListener {
|
||||
}
|
||||
|
||||
$listening = new Listening($listener, $method);
|
||||
array_push($this->echoListenings[$echoName], $listening);
|
||||
$this->echoListenings[$echoName] = $listening;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,9 @@ namespace ManiaControl\Callbacks;
|
||||
|
||||
use ManiaControl\Callbacks\Models\RecordCallback;
|
||||
use ManiaControl\Callbacks\Structures\EliteBeginTurnStructure;
|
||||
use ManiaControl\Callbacks\Structures\ShootMania\DefaultEventStructure;
|
||||
use ManiaControl\Callbacks\Structures\ShootMania\OnHitStructure;
|
||||
use ManiaControl\Callbacks\Structures\ShootMania\OnShootStructure;
|
||||
use ManiaControl\ManiaControl;
|
||||
|
||||
/**
|
||||
@ -49,6 +52,18 @@ class ShootManiaCallbacks implements CallbackListener {
|
||||
*/
|
||||
public function handleScriptCallbacks($name, $data) {
|
||||
switch ($name) {
|
||||
//MP4 New Callbacks
|
||||
case Callbacks::SM_EVENTDEFAULT:
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::SM_EVENTDEFAULT, new DefaultEventStructure($this->maniaControl, $data));
|
||||
break;
|
||||
case Callbacks::SM_ONSHOOT:
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::SM_ONSHOOT, new OnShootStructure($this->maniaControl, $data));
|
||||
break;
|
||||
case Callbacks::SM_ONHIT:
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::SM_ONHIT, new OnHitStructure($this->maniaControl, $data));
|
||||
break;
|
||||
|
||||
//Old Callbacks
|
||||
case 'LibXmlRpc_Rankings':
|
||||
$this->maniaControl->getServer()->getRankingManager()->updateRankings($data[0]);
|
||||
break;
|
||||
|
@ -14,8 +14,27 @@ use ManiaControl\ManiaControl;
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
class DefaultEventStructure extends BaseStructure {
|
||||
public $time;
|
||||
public $type;
|
||||
|
||||
public function __construct(ManiaControl $maniaControl, $data) {
|
||||
parent::__construct($maniaControl, $data);
|
||||
|
||||
$this->time = $this->getPlainJsonObject()->time;
|
||||
$this->type = $this->getPlainJsonObject()->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getTime() {
|
||||
return $this->time;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getType() {
|
||||
return $this->type;
|
||||
}
|
||||
}
|
110
core/Callbacks/Structures/ShootMania/OnHitStructure.php
Normal file
110
core/Callbacks/Structures/ShootMania/OnHitStructure.php
Normal file
@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
namespace ManiaControl\Callbacks\Structures\ShootMania;
|
||||
|
||||
|
||||
use ManiaControl\Callbacks\Structures\BaseStructure;
|
||||
use ManiaControl\ManiaControl;
|
||||
use ManiaControl\Players\Player;
|
||||
|
||||
|
||||
/**
|
||||
* Structure Class for the OnHit Structure Callback
|
||||
*
|
||||
* @author ManiaControl Team <mail@maniacontrol.com>
|
||||
* @copyright 2014-2017 ManiaControl Team
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
class OnHitStructure extends BaseStructure {
|
||||
public $time;
|
||||
public $weapon;
|
||||
public $damage;
|
||||
public $shooterPosition;
|
||||
public $victimPosition;
|
||||
|
||||
protected $shooter;
|
||||
protected $victim;
|
||||
|
||||
//private $shooterPoints; (was in mp3)
|
||||
//private $hitDistance; (was in mp3)
|
||||
|
||||
|
||||
/**
|
||||
* Construct a new On Hit Structure
|
||||
*
|
||||
* @param ManiaControl $maniaControl
|
||||
* @param array $data
|
||||
*/
|
||||
public function __construct(ManiaControl $maniaControl, $data) {
|
||||
parent::__construct($maniaControl, $data);
|
||||
|
||||
$this->time = $this->getPlainJsonObject()->time;
|
||||
$this->weapon = $this->getPlainJsonObject()->weapon;
|
||||
$this->damage = $this->getPlainJsonObject()->damage;
|
||||
$this->shooterPosition = $this->getPlainJsonObject()->shooterPosition;
|
||||
$this->victimPosition = $this->getPlainJsonObject()->victimPosition;
|
||||
|
||||
$this->shooter = $this->maniaControl->getPlayerManager()->getPlayer($this->getPlainJsonObject()->shooter);
|
||||
$this->victim = $this->maniaControl->getPlayerManager()->getPlayer($this->getPlainJsonObject()->victim);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getTime() {
|
||||
return $this->time;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getWeapon() {
|
||||
return $this->weapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getDamage() {
|
||||
return $this->damage;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO Position Object
|
||||
*
|
||||
* @return Object
|
||||
*/
|
||||
public function getShooterPosition() {
|
||||
return $this->shooterPosition;
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO Position Object
|
||||
*
|
||||
* @return Object
|
||||
*/
|
||||
public function getVictimPosition() {
|
||||
return $this->victimPosition;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Player
|
||||
*/
|
||||
public function getShooter() {
|
||||
return $this->shooter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Player
|
||||
*/
|
||||
public function getVictim() {
|
||||
return $this->victim;
|
||||
}
|
||||
|
||||
/** Dumps the Object with some Information */
|
||||
public function dump() {
|
||||
parent::dump();
|
||||
var_dump("With getShooter() you get a Player Object");
|
||||
var_dump("With getVictim() you get a Player Object");
|
||||
}
|
||||
}
|
54
core/Callbacks/Structures/ShootMania/OnShootStructure.php
Normal file
54
core/Callbacks/Structures/ShootMania/OnShootStructure.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace ManiaControl\Callbacks\Structures\ShootMania;
|
||||
|
||||
|
||||
use ManiaControl\Callbacks\Structures\BaseStructure;
|
||||
use ManiaControl\ManiaControl;
|
||||
use ManiaControl\Players\Player;
|
||||
|
||||
class OnShootStructure extends BaseStructure {
|
||||
public $time;
|
||||
public $weapon;
|
||||
/**
|
||||
* @var Player $shooter
|
||||
*/
|
||||
private $shooter;
|
||||
|
||||
//TODO test
|
||||
public function __construct(ManiaControl $maniaControl, $data) {
|
||||
parent::__construct($maniaControl, $data);
|
||||
|
||||
$this->time = $this->getPlainJsonObject()->time;
|
||||
$this->weapon = $this->getPlainJsonObject()->weapon;
|
||||
|
||||
$this->shooter = $this->maniaControl->getPlayerManager()->getPlayer($this->getPlainJsonObject()->shooter);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getTime() {
|
||||
return $this->time;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getWeapon() {
|
||||
return $this->weapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Player
|
||||
*/
|
||||
public function getShooter() {
|
||||
return $this->shooter;
|
||||
}
|
||||
|
||||
/** Dumps the Object with some Information */
|
||||
public function dump() {
|
||||
parent::dump();
|
||||
var_dump("With getShooter() you get a Player Object");
|
||||
}
|
||||
}
|
9
core/Callbacks/Structures/ShootMania/Position.php
Normal file
9
core/Callbacks/Structures/ShootMania/Position.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace ManiaControl\Callbacks\Structures\ShootMania;
|
||||
|
||||
|
||||
class Position {
|
||||
//TODO x y z positions
|
||||
}
|
@ -14,8 +14,27 @@ use ManiaControl\ManiaControl;
|
||||
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
||||
*/
|
||||
class DefaultEventStructure extends BaseStructure {
|
||||
public $time;
|
||||
public $type;
|
||||
|
||||
public function __construct(ManiaControl $maniaControl, $data) {
|
||||
parent::__construct($maniaControl, $data);
|
||||
|
||||
$this->time = $this->getPlainJsonObject()->time;
|
||||
$this->type = $this->getPlainJsonObject()->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getTime() {
|
||||
return $this->time;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getType() {
|
||||
return $this->type;
|
||||
}
|
||||
}
|
@ -19,7 +19,7 @@ class CallbacksListStructure extends BaseStructure {
|
||||
public $callbacks;
|
||||
|
||||
/**
|
||||
* Construct a new Armor Empty Structure
|
||||
* Construct a new Callbacks List Structure
|
||||
*
|
||||
* @param ManiaControl $maniaControl
|
||||
* @param array $data
|
||||
|
Loading…
Reference in New Issue
Block a user