diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2005-08-17 18:29:58 +0400 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2005-08-17 18:29:58 +0400 |
commit | 72d60d7b6371fa0b3426ea0db3aecb45b9ae7a4a (patch) | |
tree | 4f5d4709bbc52d64b4b069e82419e03f0f65fc27 /source/gameengine/Ketsji/KX_MouseFocusSensor.cpp | |
parent | 8b060dd5adfe5d56f558e4a600717f2b755d8559 (diff) |
added the "mouse over any", makes the sensor more useful
Diffstat (limited to 'source/gameengine/Ketsji/KX_MouseFocusSensor.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_MouseFocusSensor.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp index b42c66fc4f9..107e8ebc185 100644 --- a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp +++ b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp @@ -62,7 +62,7 @@ KX_MouseFocusSensor::KX_MouseFocusSensor(SCA_MouseManager* eventmgr, int startx, int starty, short int mousemode, - bool focusmode, + int focusmode, RAS_ICanvas* canvas, KX_Scene* kxscene, SCA_IObject* gameobj, @@ -72,8 +72,7 @@ KX_MouseFocusSensor::KX_MouseFocusSensor(SCA_MouseManager* eventmgr, m_gp_canvas(canvas), m_kxscene(kxscene) { - /* Or postpone? I think a sumo scene and kx scene go pretty much - * together, so it should be safe to do it here. */ + m_mouse_over_in_previous_frame = false; m_positive_event = false; m_hitObject = 0; @@ -134,7 +133,7 @@ bool KX_MouseFocusSensor::RayHit(KX_ClientObjectInfo* client_info, MT_Point3& hi * self-hits are excluded by setting the correct ignore-object.) * Hitspots now become valid. */ KX_GameObject* thisObj = (KX_GameObject*) GetParent(); - if (hitKXObj != thisObj) + if ((m_focusmode == 2) || hitKXObj == thisObj) { m_hitObject = hitKXObj; m_hitPosition = hit_point; @@ -150,7 +149,7 @@ bool KX_MouseFocusSensor::RayHit(KX_ClientObjectInfo* client_info, MT_Point3& hi bool KX_MouseFocusSensor::ParentObjectHasFocus(void) { - + m_hitObject = 0; m_hitPosition = MT_Vector3(0,0,0); m_hitNormal = MT_Vector3(1,0,0); MT_Point3 resultpoint; |