Guarantee order of checkpoint/finish-callback-triggers, so finish triggers after CPs
This commit is contained in:
parent
705b1de132
commit
f6a2c179af
@ -12,6 +12,9 @@
|
|||||||
|
|
||||||
#Bug Fixes
|
#Bug Fixes
|
||||||
- deactivate Plugins if they cause uncaught exceptions
|
- deactivate Plugins if they cause uncaught exceptions
|
||||||
|
- finish callbacks got triggered before corresponding checkpoint callback
|
||||||
|
-- some CPs of your local records might be messed up
|
||||||
|
-- you can fix them by either deleting the record "//delrec <rank>", or simply drive a better time
|
||||||
- fixed typo in actions panel of players list
|
- fixed typo in actions panel of players list
|
||||||
- fixed crashing GameMode-Settings table on other languages than english
|
- fixed crashing GameMode-Settings table on other languages than english
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ use ManiaControl\ManiaControl;
|
|||||||
* @copyright 2014-2020 ManiaControl Team
|
* @copyright 2014-2020 ManiaControl Team
|
||||||
* @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 TrackManiaCallbacks implements CallbackListener {
|
class TrackManiaCallbacks implements CallbackListener, CallQueueListener {
|
||||||
/*
|
/*
|
||||||
* Private properties
|
* Private properties
|
||||||
*/
|
*/
|
||||||
@ -106,9 +106,13 @@ class TrackManiaCallbacks implements CallbackListener {
|
|||||||
*/
|
*/
|
||||||
public function handleWayPointCallback(OnWayPointEventStructure $structure) {
|
public function handleWayPointCallback(OnWayPointEventStructure $structure) {
|
||||||
if ($structure->getIsEndRace()) {
|
if ($structure->getIsEndRace()) {
|
||||||
|
$this->maniaControl->getCallQueueManager()->registerListening($this, function () use ($structure) {
|
||||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::TM_ONFINISHLINE, $structure);
|
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::TM_ONFINISHLINE, $structure);
|
||||||
|
});
|
||||||
} else if ($structure->getIsEndLap()) {
|
} else if ($structure->getIsEndLap()) {
|
||||||
|
$this->maniaControl->getCallQueueManager()->registerListening($this, function () use ($structure) {
|
||||||
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::TM_ONLAPFINISH, $structure);
|
$this->maniaControl->getCallbackManager()->triggerCallback(Callbacks::TM_ONLAPFINISH, $structure);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user