Tactics: Western Philosophers Vs. Musicians  0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
OpenSkyNet::Core::CollisionListener Class Reference

#include <ICollisionListener.h>

Inheritance diagram for OpenSkyNet::Core::CollisionListener:
OpenSkyNet::Core::PathUpdater OpenSkyNet::Core::PhysicalObject OpenSkyNet::Core::PhysicsUpdater OpenSkyNet::Core::PhysVisObject OpenSkyNet::Core::TransformInterpolator Tactics3D::AttackRange Tactics3D::EvocationObject Tactics3D::Warrior

Public Member Functions

virtual void setNonCollidingData (Object *obj_)
 
virtual void handleNonCollidingTransformApplied (Object *obj_)
 
virtual bool handleCollisions (Object *collidee_, std::vector< CD::HitInfo > &collisions_, float &dt_)
 
virtual void handleNewCollisions (Object *collidee_, std::vector< Object * > &colliders_)
 
virtual void handleDeletedCollisions (Object *collidee_, std::vector< Object * > &colliders_)
 
virtual bool handleWrongSidedness (Object *collidee_, std::vector< CD::HitInfo > &collisions_)
 
virtual bool handleOutOfGrid (Object *obj_)
 

Detailed Description

Listens to collisions. These methods are called by Core::CollisionDetector if this interface is registered.

Member Function Documentation

virtual bool OpenSkyNet::Core::CollisionListener::handleCollisions ( Object collidee_,
std::vector< CD::HitInfo > &  collisions_,
float &  dt_ 
)
inlinevirtual

Called every Core::CollisionDetector update() when a collision is detected.

Parameters
dt_An IN param signifying the time delta for all collision tests and an OUT param signifying the time left for any future recalculations
Returns
true if collisions should be recalculated for this object, false otherwise.

Reimplemented in OpenSkyNet::Core::PhysicalObject, OpenSkyNet::Core::PhysVisObject, and OpenSkyNet::Core::PhysicsUpdater.

virtual void OpenSkyNet::Core::CollisionListener::handleDeletedCollisions ( Object collidee_,
std::vector< Object * > &  colliders_ 
)
inlinevirtual

Called if the collidee did not collide with the listed colliders, but did last Core::CollisionDetector update().

Reimplemented in Tactics3D::AttackRange.

virtual void OpenSkyNet::Core::CollisionListener::handleNewCollisions ( Object collidee_,
std::vector< Object * > &  colliders_ 
)
inlinevirtual

Called before handleCollisions() if the collidee did not collide with the listed colliders last Core::CollisionDetector update().

Reimplemented in Tactics3D::AttackRange.

virtual void OpenSkyNet::Core::CollisionListener::handleNonCollidingTransformApplied ( Object obj_)
inlinevirtual

Called by Core::CollisionDetector update() after the object is set to its "safe" transform.

Reimplemented in Tactics3D::Warrior, OpenSkyNet::Core::TransformInterpolator, OpenSkyNet::Core::PathUpdater, and Tactics3D::PC.

virtual bool OpenSkyNet::Core::CollisionListener::handleOutOfGrid ( Object obj_)
inlinevirtual
Returns
true if collisions should be recalculated for this object, false otherwise.

Reimplemented in Tactics3D::Warrior, and Tactics3D::EvocationObject.

virtual bool OpenSkyNet::Core::CollisionListener::handleWrongSidedness ( Object collidee_,
std::vector< CD::HitInfo > &  collisions_ 
)
inlinevirtual
Returns
true if collisions should be recalculated for this object, false otherwise.
virtual void OpenSkyNet::Core::CollisionListener::setNonCollidingData ( Object obj_)
inlinevirtual

Saves the motion info for obj_ when it is known not to cause collisions w/ other objects. This data is used in iterative collision detection routines whereby only one object can be tested for a new position/rotation at a time; the rest of the objects have to be at "safe" positions/rotations.

Reimplemented in Tactics3D::Warrior, OpenSkyNet::Core::PhysicalObject, OpenSkyNet::Core::PhysVisObject, OpenSkyNet::Core::TransformInterpolator, OpenSkyNet::Core::PathUpdater, Tactics3D::EvocationObject, and OpenSkyNet::Core::PhysicsUpdater.


The documentation for this class was generated from the following file: