virtual void ProcessEvent( EFlowEvent event, SActivationInfo *pActInfo ) { if (event != eFE_Activate) return; if (InputEntityIsLocalPlayer( pActInfo )) { SFlowNodeConfig config; T::GetConfiguration(config); I3DEngine* pEngine = gEnv->p3DEngine; for (int i = 0; config.pInputPorts[i].name; ++i) { if (IsPortActive(pActInfo, i)) { const TFlowInputData& anyVal = GetPortAny(pActInfo, i); float fVal; bool ok = anyVal.GetValueWithConversion(fVal); if (ok) { // set postfx param pEngine->SetPostEffectParam(config.pInputPorts[i].name, fVal); } } } } }
virtual void ProcessEvent( EFlowEvent event, SActivationInfo *pActInfo ) { if (event != eFE_Activate) return; I3DEngine* pEngine = gEnv->p3DEngine; const string& message = GetPortString(pActInfo, EIP_ParamName); const float& fParamFloat = GetPortFloat(pActInfo, EIP_ParamFloat); pEngine->SetPostEffectParam(message, fParamFloat); }