Enumerations used in CryAction Effect.
enum EMFXPlayFlags { MFX_PLAY_SOUND = BIT(1), MFX_PLAY_DECAL = BIT(2), MFX_PLAY_PARTICLES = BIT(3), MFX_DISABLE_DELAY = BIT(4), MFX_PLAY_FLOWGRAPH = BIT(5), MFX_PLAY_FORCEFEEDBACK = BIT(6), MFX_PLAY_ALL = (MFX_PLAY_SOUND | MFX_PLAY_DECAL | MFX_PLAY_PARTICLES | MFX_PLAY_FLOWGRAPH | MFX_PLAY_FORCEFEEDBACK) };
IMaterialEffects.h
enum EEffectState { eES_Deactivated, eES_Activating, eES_Updating, eES_Deactivating };
IEffectSystem.h
IEffects at the beginning are inactive. They can be activated through the IEffectSystem. At this point the effect starts to receive OnActivate() calls. It can transition to the next state by responding with a return value of true. As long as false is returned OnActivate will continue being called. Once true is returned, the effect will transition to the active state and OnUpdate() will get called on it
Since activating, updating and deactivating effects are processed in that order, it is possible for an effect to go through this lifecycle within a single frame!!!
enum MFXParticleDirection { MFX_PART_DIRECTION_NORMAL = 0, MFX_PART_DIRECTION_RICOCHET };
IMaterialEffects.h