/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #ifndef __IITEMEVENT__ #define __IITEMEVENT__ namespace GS { namespace S3D { class MItem; struct MTrigger; struct CollisionPair; /*! @short Item event interface. Implement this class if you wish to process item events. The default implementation forwards events to the item active script units. @author Emmanuel Julien (ejulien@gsworks.fr) */ struct IItemEvent { virtual void OnSetup(MItem *) {} virtual void OnSetupDone(MItem *) {} virtual void OnReset(MItem *) {} virtual void OnActivate(MItem *, bool) {} virtual void OnPhysicStep(MItem *, bool /*step_taken*/) {} virtual void OnItemEnter(MTrigger *, MItem *) {} virtual void OnItemExit(MTrigger *, MItem *) {} virtual void OnEnterTrigger(MItem *, MTrigger *) {} virtual void OnTrigger(MItem *, MTrigger *) {} virtual void OnExitTrigger(MItem *, MTrigger *) {} virtual void OnUpdate(MItem *) {} virtual void OnDelete(MItem *) {} virtual void OnRenderDone(MItem *) {} virtual void OnRenderUser(MItem *) {} virtual void OnCollision(MItem *, MItem * /*with*/, const CollisionPair &) {} virtual ~IItemEvent() {} }; } // S3D } // GS #endif // __IITEMEVENT__