32
32
#ifndef __KX_TOUCHEVENTMANAGER
33
33
#define __KX_TOUCHEVENTMANAGER
35
36
#include "SCA_EventManager.h"
36
37
#include "KX_TouchSensor.h"
37
38
#include "KX_GameObject.h"
44
class PHY_IPhysicsEnvironment;
41
46
class KX_TouchEventManager : public SCA_EventManager
48
typedef std::pair<PHY_IPhysicsController*, PHY_IPhysicsController*> NewCollision;
43
49
class SCA_LogicManager* m_logicmgr;
46
static DT_Bool KX_TouchEventManager::collisionResponse(void *client_data,
49
const DT_CollData *coll_data);
51
virtual DT_Bool HandleCollision(void* obj1,void* obj2,
52
const DT_CollData * coll_data);
50
PHY_IPhysicsEnvironment* m_physEnv;
52
std::set<NewCollision> m_newCollisions;
55
static bool newCollisionResponse(void *client_data,
58
const PHY_CollData *coll_data);
60
virtual bool NewHandleCollision(void* obj1,void* obj2,
61
const PHY_CollData * coll_data);
56
68
KX_TouchEventManager(class SCA_LogicManager* logicmgr,
58
virtual void NextFrame(double curtime,double deltatime);
69
PHY_IPhysicsEnvironment* physEnv);
70
virtual void NextFrame();
59
71
virtual void EndFrame();
60
72
virtual void RemoveSensor(class SCA_ISensor* sensor);
61
73
virtual void RegisterSensor(SCA_ISensor* sensor);
62
74
SCA_LogicManager* GetLogicManager() { return m_logicmgr;}
63
SM_Scene *GetSumoScene() { return m_scene; }
75
PHY_IPhysicsEnvironment *GetPhysicsEnvironment() { return m_physEnv; }
66
79
#endif //__KX_TOUCHEVENTMANAGER