added some shootmania callbacks
This commit is contained in:
		@@ -30,11 +30,11 @@ interface Callbacks {
 | 
			
		||||
	 */
 | 
			
		||||
	//NEW Callbacks
 | 
			
		||||
 | 
			
		||||
	const XMLRPC_CALLBACKSLIST  = 'Callbacks.XmlRpcCallbacksList';
 | 
			
		||||
	const MP_STARTSERVERSTART   = 'Callbacks.ManiaPlanetStartServerStart';
 | 
			
		||||
	const MP_STARTSERVEREND     = 'Callbacks.ManiaPlanetStartServerEnd';
 | 
			
		||||
	const MP_STARTMATCHSTART    = 'Callbacks.ManiaPlanetStartMatchStart';
 | 
			
		||||
	const MP_STARTMATCHEND      = 'Callbacks.ManiaPlanetStartMatchEnd';
 | 
			
		||||
	const XMLRPC_CALLBACKSLIST = 'Callbacks.XmlRpcCallbacksList';
 | 
			
		||||
	const MP_STARTSERVERSTART  = 'Callbacks.ManiaPlanetStartServerStart';
 | 
			
		||||
	const MP_STARTSERVEREND    = 'Callbacks.ManiaPlanetStartServerEnd';
 | 
			
		||||
	const MP_STARTMATCHSTART   = 'Callbacks.ManiaPlanetStartMatchStart';
 | 
			
		||||
	const MP_STARTMATCHEND     = 'Callbacks.ManiaPlanetStartMatchEnd';
 | 
			
		||||
	//const MP_STARTMAPSTART      = 'Callbacks.ManiaPlanetStartMapStart';
 | 
			
		||||
	//const MP_STARTMAPEND        = 'Callbacks.ManiaPlanetStartMapEnd';
 | 
			
		||||
	const MP_STARTROUNDSTART    = 'Callbacks.ManiaPlanetStartRoundStart';
 | 
			
		||||
@@ -43,22 +43,40 @@ interface Callbacks {
 | 
			
		||||
	const MP_STARTTURNEND       = 'Callbacks.ManiaPlanetStartTurnEnd';
 | 
			
		||||
	const MP_STARTPLAYLOOPSTART = 'Callbacks.ManiaPlanetStartPlayLoopStart';
 | 
			
		||||
	const MP_STARTPLAYLOOPEND   = 'Callbacks.ManiaPlanetStartPlayLoopEnd';
 | 
			
		||||
	const MP_ENDTURNSTART      = 'Callbacks.ManiaPlanetEndTurnStart';
 | 
			
		||||
	const MP_ENDTURNSTART       = 'Callbacks.ManiaPlanetEndTurnStart';
 | 
			
		||||
	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_ENDMATCHSTART      = 'Callbacks.ManiaPlanetEndMatchStart';
 | 
			
		||||
	const MP_ENDMATCHEND        = 'Callbacks.ManiaPlanetEndMatchEnd';
 | 
			
		||||
	const MP_ENDSERVERSTART     = 'Callbacks.ManiaPlanetEndServerStart';
 | 
			
		||||
	const MP_ENDSERVEREND       = 'Callbacks.ManiaPlanetEndServerEnd';
 | 
			
		||||
	const MP_LOADINGMAPSTART    = 'Callbacks.ManiaPlanetLoadingMapStart';
 | 
			
		||||
	const MP_LOADINGMAPEND      = 'Callbacks.ManiaPlanetLoadingMapEnd';
 | 
			
		||||
	const MP_UNLOADINGMAPSTART  = 'Callbacks.ManiaPlanetUnLoadingMapStart';
 | 
			
		||||
	const MP_UNLOADINGMAPEND    = 'Callbacks.ManiaPlanetUnLoadingMapEnd';
 | 
			
		||||
	const MP_PODIUMSTART        = 'Callbacks.ManiaPlanetPodiumStart';
 | 
			
		||||
	const MP_PODIUMEND          = 'Callbacks.ManiaPlanetPodiumEnd';
 | 
			
		||||
	//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';
 | 
			
		||||
	const MP_ENDSERVEREND      = 'Callbacks.ManiaPlanetEndServerEnd';
 | 
			
		||||
	const MP_LOADINGMAPSTART   = 'Callbacks.ManiaPlanetLoadingMapStart';
 | 
			
		||||
	const MP_LOADINGMAPEND     = 'Callbacks.ManiaPlanetLoadingMapEnd';
 | 
			
		||||
	const MP_UNLOADINGMAPSTART = 'Callbacks.ManiaPlanetUnLoadingMapStart';
 | 
			
		||||
	const MP_UNLOADINGMAPEND   = 'Callbacks.ManiaPlanetUnLoadingMapEnd';
 | 
			
		||||
	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 */
 | 
			
		||||
 
 | 
			
		||||
@@ -69,8 +69,8 @@ class EchoManager implements CallbackListener, EchoListener {
 | 
			
		||||
			$this->echoListenings[$echoName] = array();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		$listening = new Listening($listener, $method);
 | 
			
		||||
		array_push($this->echoListenings[$echoName], $listening);
 | 
			
		||||
		$listening                       = new Listening($listener, $method);
 | 
			
		||||
		$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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user