Esempio n. 1
0
		bool RegisterCallback( CallbackType type, luabind::object f ) {
			if(HasCallback( type ) && !AllowsMultipleCallbacks( type )) {
				printf( "Only a single callback is allowed for this callback type.\n" );
				return false;
			}

			//if(!lua_isfunction(f.interpreter(), 0))

			std::get<0>( _callbacks[(CallbackType)type] ) = true;
			std::get<1>( _callbacks[(CallbackType)type] ).push_back( f );
			return true;
		}
bool ETHRawEntityController::RunCallback(ETHScriptEntity* entity)
{
	if (HasConstructorCallback())
	{
		ETHGlobal::RunEntityCallback(m_pContext, entity, m_constructorCallbackId);
		m_constructorCallbackId =-1; // never run it again. that's the trick
	}
	if (HasCallback())
	{
		ETHGlobal::RunEntityCallback(m_pContext, entity, m_callbackId);
	}
	return true;
}
Esempio n. 3
0
bool ETHRawEntityController::RunCallback(ETHScriptEntity* entity)
{
    if (HasConstructorCallback() && !m_hadRunConstructor)
    {
        ETHGlobal::RunEntityCallback(m_pContext, entity, m_constructorCallbackId);
        m_hadRunConstructor = true;
    }
    if (HasCallback())
    {
        ETHGlobal::RunEntityCallback(m_pContext, entity, m_callbackId);
    }
    return true;
}
Esempio n. 4
0
///////////////////////////////////////////////////////////////
//
// CDbJobData::ProcessCallback
//
// Do callback
//
///////////////////////////////////////////////////////////////
void CDbJobData::ProcessCallback ( void )
{
    assert ( HasCallback () );
    callback.bDone = true;
    callback.pfnDbResult( this, callback.pContext );
}
Esempio n. 5
0
///////////////////////////////////////////////////////////////
//
// CCompressJobData::ProcessCallback
//
// Do callback
//
///////////////////////////////////////////////////////////////
void CCompressJobData::ProcessCallback ( void )
{
    assert ( HasCallback () );
    callback.bDone = true;
    callback.pfnScreenShotCallback( result.buffer, callback.uiTimeSpentInQueue );
}
Esempio n. 6
0
		std::vector<luabind::object> GetCallbacks( CallbackType type ) {
			if(!HasCallback( type )) throw "No callback registered for this event.";
			if(std::get<0>( _callbacks[type] ))
				return std::get<1>( _callbacks[type] );
			else return std::vector<luabind::object>();
		}