struct IMaterialEffects { };
IMaterialEffects.h
virtual ~IMaterialEffects();
virtual void ClearDelayedEffects() = 0;
virtual void CompleteInit() = 0;
virtual bool ExecuteEffect(TMFXEffectId effectId, SMFXRunTimeEffectParams& runtimeParams) = 0;
virtual int GetDefaultCanopyIndex() = 0;
virtual int GetDefaultSurfaceIndex() = 0;
virtual TMFXEffectId GetEffectId(IEntityClass* pEntityClass, int surfaceIndex2) = 0;
virtual TMFXEffectId GetEffectId(const char* customName, int surfaceIndex2) = 0;
virtual TMFXEffectId GetEffectId(int surfaceIndex1, int surfaceIndex2) = 0;
virtual TMFXEffectId GetEffectIdByName(const char* libName, const char* effectName) = 0;
virtual IFlowGraphPtr GetMatFXFlowGraph(int index, string* pFileName = NULL) const = 0;
virtual int GetMatFXFlowGraphCount() const = 0;
virtual SMFXResourceListPtr GetResources(TMFXEffectId effectId) = 0;
virtual void LoadFXLibraries() = 0;
virtual IFlowGraphPtr LoadNewMatFXFlowGraph(const string& filename) = 0;
virtual bool PlayBreakageEffect(ISurfaceType* pSurfaceType, const char* breakageType, const SMFXBreakageParams& mfxBreakageParams) = 0;
virtual void PreLoadAssets() = 0;
virtual void ReloadMatFXFlowGraphs() = 0;
virtual void Reset(bool bCleanup) = 0;
virtual void SetCustomParameter(TMFXEffectId effectId, const char* customParameter, const SMFXCustomParamValue& customParameterValue) = 0;
virtual void StopEffect(TMFXEffectId effectId) = 0;