1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-30 08:07:46 +00:00

Simplified EventReturnHandler

This commit is contained in:
Mordred 2018-01-16 14:01:58 +01:00
parent 52f341c906
commit 9d07048f0d

View file

@ -216,32 +216,17 @@ bool Core::Scripting::ScriptManager::onEventHandlerReturn( Entity::Player& playe
" p2: " + std::to_string( param2 ) + " p2: " + std::to_string( param2 ) +
" p3: " + std::to_string( param3 ) ); " p3: " + std::to_string( param3 ) );
try auto pEvent = player.getEvent( eventId );
if( pEvent )
{ {
auto pEvent = player.getEvent( eventId ); pEvent->setPlayedScene( false );
if( pEvent ) // try to retrieve a stored callback
{ auto eventCallback = pEvent->getEventReturnCallback();
pEvent->setPlayedScene( false ); // if there is one, proceed to call it
// try to retrieve a stored callback if( eventCallback )
auto eventCallback = pEvent->getEventReturnCallback(); eventCallback( player, eventId, param1, param2, param3 );
// if there is one, proceed to call it // check the event, finishing it if needed
if( eventCallback ) player.checkEvent( eventId );
{
eventCallback( player, eventId, param1, param2, param3 );
if( !pEvent->hasPlayedScene() )
player.eventFinish( eventId, 1 );
else
pEvent->setPlayedScene( false );
}
// else, finish the event.
else
player.eventFinish( eventId, 1 );
}
}
catch( std::exception& e )
{
player.sendNotice( e.what() );
return false;
} }
return true; return true;
@ -254,7 +239,6 @@ bool Core::Scripting::ScriptManager::onEventHandlerTradeReturn( Entity::Player&
if( script ) if( script )
{ {
script->onEventHandlerTradeReturn( player, eventId, subEvent, param, catalogId ); script->onEventHandlerTradeReturn( player, eventId, subEvent, param, catalogId );
return true; return true;
} }