12#ifndef TT_INCLUDE_PHYSOBSERVERCLASS_H
13#define TT_INCLUDE_PHYSOBSERVERCLASS_H
14class CollisionEventClass;
17class DamageableGameObj;
19enum _CollisionReactionType
21 COLLISION_REACTION_DEFAULT,
22 COLLISION_REACTION_STOP_MOTION,
23 COLLISION_REACTION_NO_BOUNCE,
25typedef int CollisionReactionType;
26enum _ExpirationReactionType
31typedef int ExpirationReactionType;
32class PhysObserverClass
35 virtual CollisionReactionType Collision_Occurred(
const CollisionEventClass & event) {
return COLLISION_REACTION_DEFAULT; }
36 virtual ExpirationReactionType Object_Expired(PhysClass * observed_obj) {
return EXPIRATION_APPROVED; }
37 virtual void Object_Removed_From_Scene(PhysClass * observed_obj) { };
38 virtual void Object_Shattered_Something(PhysClass * observed_obj, PhysClass * shattered_obj,
int surface_type) { };
40class CombatPhysObserverClass :
public PhysObserverClass {
42 virtual DamageableGameObj * As_DamageableGameObj(
void ) {
return NULL; }
43 virtual PhysicalGameObj * As_PhysicalGameObj(
void ) {
return NULL; }
44 virtual BuildingGameObj * As_BuildingGameObj(
void ) {
return NULL; }