added draft of new callback structure (made example)
This commit is contained in:
parent
ba86708e22
commit
496039a627
@ -28,6 +28,12 @@ interface Callbacks {
|
||||
/*
|
||||
* Common Callbacks
|
||||
*/
|
||||
//NEW Callbacks
|
||||
|
||||
const XMLRPC_CALLBACKSLIST = 'Callbacks.XmlRpcCallbacksList';
|
||||
|
||||
|
||||
//OLD Callbacks
|
||||
/** BeginMatch Callback: MatchNumber */
|
||||
const BEGINMATCH = 'Callbacks.BeginMatch';
|
||||
/** LoadingMap Callback: MapNumber */
|
||||
@ -126,14 +132,14 @@ interface Callbacks {
|
||||
* TrackMania Callbacks
|
||||
*/
|
||||
/** OnStartLine Callback */
|
||||
const STARTLINE = 'Callbacks.StartLine';
|
||||
const ONSTARTLINE = 'Callbacks.StartLine';
|
||||
/** OnWayPoint Callback */
|
||||
const WAYPOINT = 'Callbacks.WayPoint';
|
||||
const ONWAYPOINT = 'Callbacks.WayPoint';
|
||||
/** OnGiveUp Callback */
|
||||
const GIVEUP = 'Callbacks.GiveUp';
|
||||
const ONGIVEUP = 'Callbacks.GiveUp';
|
||||
/** OnRespawn Callback */
|
||||
const ONRESPAWN = 'Callbacks.Respawn';
|
||||
/** OnStunt Callback */
|
||||
const STUNT = 'Callbacks.Stunt';
|
||||
const ONSTUNT = 'Callbacks.Stunt';
|
||||
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ namespace ManiaControl\Callbacks;
|
||||
|
||||
use ManiaControl\Callbacks\Structures\ArmorEmptyStructure;
|
||||
use ManiaControl\Callbacks\Structures\CaptureStructure;
|
||||
use ManiaControl\Callbacks\Structures\ManiaPlanet\CallbacksListStructure;
|
||||
use ManiaControl\Callbacks\Structures\NearMissStructure;
|
||||
use ManiaControl\Callbacks\Structures\PlayerHitStructure;
|
||||
use ManiaControl\ManiaControl;
|
||||
@ -42,6 +43,11 @@ class LibXmlRpcCallbacks implements CallbackListener {
|
||||
*/
|
||||
public function handleScriptCallback($name, $data) {
|
||||
switch ($name) {
|
||||
//New callbacks
|
||||
case 'XmlRpc.CallbacksList':
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::XMLRPC_CALLBACKSLIST, new CallbacksListStructure($this->maniaControl, $data));
|
||||
break;
|
||||
//OLD Callbacks
|
||||
case 'LibXmlRpc_BeginMatch':
|
||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::BEGINMATCH, $data[0]);
|
||||
break;
|
||||
|
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
namespace ManiaControl\Callbacks\Structures\ManiaPlanet;
|
||||
|
||||
use ManiaControl\ManiaControl;
|
||||
|
||||
/**
|
||||
* Structure Class for the List 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 CallbacksListStructure {
|
||||
/** @var string $responseId */
|
||||
private $responseId;
|
||||
/** @var array $callbacks */
|
||||
private $callbacks;
|
||||
|
||||
/** @var ManiaControl $maniaControl */
|
||||
private $maniaControl;
|
||||
|
||||
/**
|
||||
* Construct a new Armor Empty Structure
|
||||
*
|
||||
* @param ManiaControl $maniaControl
|
||||
* @param array $data
|
||||
*/
|
||||
public function __construct(ManiaControl $maniaControl, $data) {
|
||||
$this->maniaControl = $maniaControl;
|
||||
|
||||
//Not tested yet, TODO test
|
||||
$json = json_decode($data);
|
||||
|
||||
$this->responseId = $json->responseId;
|
||||
$this->callbacks = $json->callbacks;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getResponseId() {
|
||||
return $this->responseId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getCallbacks() {
|
||||
return $this->callbacks;
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: Lukas
|
||||
* Date: 22. Mär. 2017
|
||||
* Time: 18:02
|
||||
*/
|
||||
|
||||
namespace ManiaControl\Callbacks\Structures\Trackmania;
|
||||
|
||||
|
||||
class DefaultEventStructure {
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user