bool CClientEntity::CallEvent ( const char* szName, const CLuaArguments& Arguments, bool bCallOnChildren ) { g_pClientGame->GetDebugHookManager()->OnPreEvent( szName, Arguments, this, NULL ); TIMEUS startTime = GetTimeUs (); CEvents* pEvents = g_pClientGame->GetEvents(); // Make sure our event-manager knows we're about to call an event pEvents->PreEventPulse (); // Call the event on our parents/us first CallParentEvent ( szName, Arguments, this ); if ( bCallOnChildren ) { // Call it on all our children CallEventNoParent ( szName, Arguments, this ); } // Tell the event manager that we're done calling the event pEvents->PostEventPulse (); if ( IS_TIMING_CHECKPOINTS() ) { TIMEUS deltaTimeUs = GetTimeUs () - startTime; if ( deltaTimeUs > 10000 ) TIMING_DETAIL( SString ( "Event: %s [%d ms]", szName, deltaTimeUs / 1000 ) ); } g_pClientGame->GetDebugHookManager()->OnPostEvent( szName, Arguments, this, NULL ); // Return whether it got cancelled or not return ( !pEvents->WasEventCancelled () ); }
bool CElement::CallEvent ( const char* szName, const CLuaArguments& Arguments, CPlayer* pCaller ) { CEvents* pEvents = g_pGame->GetEvents(); // Make sure our event-manager knows we're about to call an event pEvents->PreEventPulse (); // Call the event on our parents/us first CallParentEvent ( szName, Arguments, this, pCaller ); // Call it on all our children CallEventNoParent ( szName, Arguments, this, pCaller ); // Tell the event manager that we're done calling the event pEvents->PostEventPulse (); // Return whether our event was cancelled or not return ( !pEvents->WasEventCancelled () ); }
bool CClientEntity::CallEvent ( const char* szName, const CLuaArguments& Arguments, bool bCallOnChildren ) { CEvents* pEvents = g_pClientGame->GetEvents(); // Make sure our event-manager knows we're about to call an event pEvents->PreEventPulse (); // Call the event on our parents/us first CallParentEvent ( szName, Arguments, this ); if ( bCallOnChildren ) { // Call it on all our children CallEventNoParent ( szName, Arguments, this ); } // Tell the event manager that we're done calling the event pEvents->PostEventPulse (); // Return whether it got cancelled or not return ( !pEvents->WasEventCancelled () ); }