58 lines
1.3 KiB
C++
58 lines
1.3 KiB
C++
/* -----------------------------------------------------------------------------
|
|
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__
|