added some shootmania callbacks
This commit is contained in:
		| @@ -30,11 +30,11 @@ interface Callbacks { | |||||||
| 	 */ | 	 */ | ||||||
| 	//NEW Callbacks | 	//NEW Callbacks | ||||||
|  |  | ||||||
| 	const XMLRPC_CALLBACKSLIST  = 'Callbacks.XmlRpcCallbacksList'; | 	const XMLRPC_CALLBACKSLIST = 'Callbacks.XmlRpcCallbacksList'; | ||||||
| 	const MP_STARTSERVERSTART   = 'Callbacks.ManiaPlanetStartServerStart'; | 	const MP_STARTSERVERSTART  = 'Callbacks.ManiaPlanetStartServerStart'; | ||||||
| 	const MP_STARTSERVEREND     = 'Callbacks.ManiaPlanetStartServerEnd'; | 	const MP_STARTSERVEREND    = 'Callbacks.ManiaPlanetStartServerEnd'; | ||||||
| 	const MP_STARTMATCHSTART    = 'Callbacks.ManiaPlanetStartMatchStart'; | 	const MP_STARTMATCHSTART   = 'Callbacks.ManiaPlanetStartMatchStart'; | ||||||
| 	const MP_STARTMATCHEND      = 'Callbacks.ManiaPlanetStartMatchEnd'; | 	const MP_STARTMATCHEND     = 'Callbacks.ManiaPlanetStartMatchEnd'; | ||||||
| 	//const MP_STARTMAPSTART      = 'Callbacks.ManiaPlanetStartMapStart'; | 	//const MP_STARTMAPSTART      = 'Callbacks.ManiaPlanetStartMapStart'; | ||||||
| 	//const MP_STARTMAPEND        = 'Callbacks.ManiaPlanetStartMapEnd'; | 	//const MP_STARTMAPEND        = 'Callbacks.ManiaPlanetStartMapEnd'; | ||||||
| 	const MP_STARTROUNDSTART    = 'Callbacks.ManiaPlanetStartRoundStart'; | 	const MP_STARTROUNDSTART    = 'Callbacks.ManiaPlanetStartRoundStart'; | ||||||
| @@ -43,22 +43,40 @@ interface Callbacks { | |||||||
| 	const MP_STARTTURNEND       = 'Callbacks.ManiaPlanetStartTurnEnd'; | 	const MP_STARTTURNEND       = 'Callbacks.ManiaPlanetStartTurnEnd'; | ||||||
| 	const MP_STARTPLAYLOOPSTART = 'Callbacks.ManiaPlanetStartPlayLoopStart'; | 	const MP_STARTPLAYLOOPSTART = 'Callbacks.ManiaPlanetStartPlayLoopStart'; | ||||||
| 	const MP_STARTPLAYLOOPEND   = 'Callbacks.ManiaPlanetStartPlayLoopEnd'; | 	const MP_STARTPLAYLOOPEND   = 'Callbacks.ManiaPlanetStartPlayLoopEnd'; | ||||||
| 	const MP_ENDTURNSTART      = 'Callbacks.ManiaPlanetEndTurnStart'; | 	const MP_ENDTURNSTART       = 'Callbacks.ManiaPlanetEndTurnStart'; | ||||||
| 	const MP_ENDTURNEND         = 'Callbacks.ManiaPlanetEndTurnEnd'; | 	const MP_ENDTURNEND         = 'Callbacks.ManiaPlanetEndTurnEnd'; | ||||||
| 	const MP_ENDROUNDSTART      = 'Callbacks.ManiaPlanetEndRoundStart'; | 	const MP_ENDROUNDSTART      = 'Callbacks.ManiaPlanetEndRoundStart'; | ||||||
| 	const MP_ENDROUNDEND        = 'Callbacks.ManiaPlanetEndRoundEnd'; | 	const MP_ENDROUNDEND        = 'Callbacks.ManiaPlanetEndRoundEnd'; | ||||||
| 	const MP_ENDMAPSTART        = 'Callbacks.ManiaPlanetEndMapStart'; | 	//const MP_ENDMAPSTART        = 'Callbacks.ManiaPlanetEndMapStart'; | ||||||
| 	const MP_ENDMAPEND          = 'Callbacks.ManiaPlanetEndMapEnd'; | 	//const MP_ENDMAPEND          = 'Callbacks.ManiaPlanetEndMapEnd'; | ||||||
| 	const MP_ENDMATCHSTART      = 'Callbacks.ManiaPlanetEndMatchStart'; | 	const MP_ENDMATCHSTART     = 'Callbacks.ManiaPlanetEndMatchStart'; | ||||||
| 	const MP_ENDMATCHEND        = 'Callbacks.ManiaPlanetEndMatchEnd'; | 	const MP_ENDMATCHEND       = 'Callbacks.ManiaPlanetEndMatchEnd'; | ||||||
| 	const MP_ENDSERVERSTART     = 'Callbacks.ManiaPlanetEndServerStart'; | 	const MP_ENDSERVERSTART    = 'Callbacks.ManiaPlanetEndServerStart'; | ||||||
| 	const MP_ENDSERVEREND       = 'Callbacks.ManiaPlanetEndServerEnd'; | 	const MP_ENDSERVEREND      = 'Callbacks.ManiaPlanetEndServerEnd'; | ||||||
| 	const MP_LOADINGMAPSTART    = 'Callbacks.ManiaPlanetLoadingMapStart'; | 	const MP_LOADINGMAPSTART   = 'Callbacks.ManiaPlanetLoadingMapStart'; | ||||||
| 	const MP_LOADINGMAPEND      = 'Callbacks.ManiaPlanetLoadingMapEnd'; | 	const MP_LOADINGMAPEND     = 'Callbacks.ManiaPlanetLoadingMapEnd'; | ||||||
| 	const MP_UNLOADINGMAPSTART  = 'Callbacks.ManiaPlanetUnLoadingMapStart'; | 	const MP_UNLOADINGMAPSTART = 'Callbacks.ManiaPlanetUnLoadingMapStart'; | ||||||
| 	const MP_UNLOADINGMAPEND    = 'Callbacks.ManiaPlanetUnLoadingMapEnd'; | 	const MP_UNLOADINGMAPEND   = 'Callbacks.ManiaPlanetUnLoadingMapEnd'; | ||||||
| 	const MP_PODIUMSTART        = 'Callbacks.ManiaPlanetPodiumStart'; | 	const MP_PODIUMSTART       = 'Callbacks.ManiaPlanetPodiumStart'; | ||||||
| 	const MP_PODIUMEND          = 'Callbacks.ManiaPlanetPodiumEnd'; | 	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 | 	//ManiaControl Callbacks | ||||||
| 	/** BeginMap Callback: Map */ | 	/** BeginMap Callback: Map */ | ||||||
|   | |||||||
| @@ -69,8 +69,8 @@ class EchoManager implements CallbackListener, EchoListener { | |||||||
| 			$this->echoListenings[$echoName] = array(); | 			$this->echoListenings[$echoName] = array(); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		$listening = new Listening($listener, $method); | 		$listening                       = new Listening($listener, $method); | ||||||
| 		array_push($this->echoListenings[$echoName], $listening); | 		$this->echoListenings[$echoName] = $listening; | ||||||
| 		return true; | 		return true; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -4,6 +4,9 @@ namespace ManiaControl\Callbacks; | |||||||
|  |  | ||||||
| use ManiaControl\Callbacks\Models\RecordCallback; | use ManiaControl\Callbacks\Models\RecordCallback; | ||||||
| use ManiaControl\Callbacks\Structures\EliteBeginTurnStructure; | 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; | use ManiaControl\ManiaControl; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @@ -49,6 +52,18 @@ class ShootManiaCallbacks implements CallbackListener { | |||||||
| 	 */ | 	 */ | ||||||
| 	public function handleScriptCallbacks($name, $data) { | 	public function handleScriptCallbacks($name, $data) { | ||||||
| 		switch ($name) { | 		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': | 			case 'LibXmlRpc_Rankings': | ||||||
| 				$this->maniaControl->getServer()->getRankingManager()->updateRankings($data[0]); | 				$this->maniaControl->getServer()->getRankingManager()->updateRankings($data[0]); | ||||||
| 				break; | 				break; | ||||||
|   | |||||||
| @@ -14,8 +14,27 @@ use ManiaControl\ManiaControl; | |||||||
|  * @license   http://www.gnu.org/licenses/ GNU General Public License, Version 3 |  * @license   http://www.gnu.org/licenses/ GNU General Public License, Version 3 | ||||||
|  */ |  */ | ||||||
| class DefaultEventStructure extends BaseStructure { | class DefaultEventStructure extends BaseStructure { | ||||||
|  | 	public $time; | ||||||
|  | 	public $type; | ||||||
|  |  | ||||||
| 	public function __construct(ManiaControl $maniaControl, $data) { | 	public function __construct(ManiaControl $maniaControl, $data) { | ||||||
| 		parent::__construct($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 |  * @license   http://www.gnu.org/licenses/ GNU General Public License, Version 3 | ||||||
|  */ |  */ | ||||||
| class DefaultEventStructure extends BaseStructure { | class DefaultEventStructure extends BaseStructure { | ||||||
|  | 	public $time; | ||||||
|  | 	public $type; | ||||||
|  |  | ||||||
| 	public function __construct(ManiaControl $maniaControl, $data) { | 	public function __construct(ManiaControl $maniaControl, $data) { | ||||||
| 		parent::__construct($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; | 	public $callbacks; | ||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| 	 * Construct a new Armor Empty Structure | 	 * Construct a new Callbacks List Structure | ||||||
| 	 * | 	 * | ||||||
| 	 * @param ManiaControl $maniaControl | 	 * @param ManiaControl $maniaControl | ||||||
| 	 * @param array        $data | 	 * @param array        $data | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user