From 6c17f1187e79eed2552ac06c91d51b24ee34f738 Mon Sep 17 00:00:00 2001 From: Kent Mein Date: Mon, 19 Feb 2007 21:46:57 +0000 Subject: Patch provided by Carsten, KX_RaySensor::Evaluate returns false when hit was detected and it was already marked as hit. (no change in state) Kent --- source/gameengine/Ketsji/KX_RaySensor.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'source/gameengine/Ketsji/KX_RaySensor.cpp') diff --git a/source/gameengine/Ketsji/KX_RaySensor.cpp b/source/gameengine/Ketsji/KX_RaySensor.cpp index b7e672213ef..ef3ec3e0be3 100644 --- a/source/gameengine/Ketsji/KX_RaySensor.cpp +++ b/source/gameengine/Ketsji/KX_RaySensor.cpp @@ -237,9 +237,9 @@ bool KX_RaySensor::Evaluate(CValue* event) result = KX_RayCast::RayTest(spc, physics_environment, frompoint, topoint, resultpoint, resultnormal, KX_RayCast::Callback(this)); - /* now pass this result to some controller */ - if (m_rayHit) + + if (m_rayHit) { if (!m_bTriggered) { @@ -248,19 +248,23 @@ bool KX_RaySensor::Evaluate(CValue* event) m_bTriggered = true; } else - { - - } + { + // notify logicsystem that ray is STILL hitting ... + result = false; + + } } - else - { + else + { if (m_bTriggered) { m_bTriggered = false; - // notify logicsystem that ray is not hitting anymore + // notify logicsystem that ray JUST left the Object result = true; } - } + + } + return result; } -- cgit v1.2.3