void TriggerEvent( RakNet::BitStream * pBitStream, RakNet::Packet * pPacket ) { CSquirrelArguments * pArgs = new CSquirrelArguments( pBitStream ); CSquirrelArgument * pEventName = (pArgs->size() > 0 ? pArgs->front() : 0); // if( pEventName && pEventName->GetType() == OT_STRING ) { String strEventName = *pEventName->data.str; pArgs->pop_front(); pCore->GetClientScriptingManager()->GetEvents()->Call( strEventName, pArgs ); SAFE_DELETE( pEventName ); } SAFE_DELETE( pArgs ); }
void CServerRPCHandler::EventCall(CBitStream * pBitStream, CPlayerSocket * pSenderSocket) { // Ensure we have a valid bit stream if(!pBitStream) return; CSquirrelArguments* pArgs = new CSquirrelArguments(pBitStream); CSquirrelArgument* pEventName = pArgs->size() > 0 ? pArgs->front() : 0; if(pEventName && pEventName->GetType() == OT_STRING) { String strEventName = pEventName->data.str->C_String(); pArgs->pop_front(); pArgs->push_front(new CSquirrelArgument(pSenderSocket->playerId)); g_pEvents->Call(strEventName, pArgs); delete pEventName; } delete pArgs; }