diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-04-04 06:57:35 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-04-04 06:57:35 +0400 |
commit | 6be69211843ee37ab9be763df0621db94dbfd69b (patch) | |
tree | e4efbb5bc2b60986bac5276881e11e54fdd5fb7d /source/gameengine/Ketsji/KX_TouchSensor.cpp | |
parent | 29f5c7dd5d0871835e4d50b2b3018b9a24a93350 (diff) |
moved more attributes from getattr into PyAttributeDef's
Diffstat (limited to 'source/gameengine/Ketsji/KX_TouchSensor.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_TouchSensor.cpp | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/source/gameengine/Ketsji/KX_TouchSensor.cpp b/source/gameengine/Ketsji/KX_TouchSensor.cpp index 49d3d20dc3d..c22885f3664 100644 --- a/source/gameengine/Ketsji/KX_TouchSensor.cpp +++ b/source/gameengine/Ketsji/KX_TouchSensor.cpp @@ -286,8 +286,8 @@ PyAttributeDef KX_TouchSensor::Attributes[] = { KX_PYATTRIBUTE_STRING_RW("property",0,100,false,KX_TouchSensor,m_touchedpropname), KX_PYATTRIBUTE_BOOL_RW("useMaterial",KX_TouchSensor,m_bFindMaterial), KX_PYATTRIBUTE_BOOL_RW("pulseCollisions",KX_TouchSensor,m_bTouchPulse), - KX_PYATTRIBUTE_DUMMY("objectHit"), - KX_PYATTRIBUTE_DUMMY("objectHitList"), + KX_PYATTRIBUTE_RO_FUNCTION("objectHit", KX_TouchSensor, pyattr_get_object_hit), + KX_PYATTRIBUTE_RO_FUNCTION("objectHitList", KX_TouchSensor, pyattr_get_object_hit_list), { NULL } //Sentinel }; @@ -295,17 +295,7 @@ PyObject* KX_TouchSensor::py_getattro(PyObject *attr) { PyObject* object= py_getattro_self(Attributes, this, attr); if (object != NULL) - return object; - - char *attr_str= PyString_AsString(attr); - if (!strcmp(attr_str, "objectHit")) { - if (m_hitObject) return m_hitObject->AddRef(); - else Py_RETURN_NONE; - } - if (!strcmp(attr_str, "objectHitList")) { - return m_colliders->AddRef(); - } - + return object; py_getattro_up(SCA_ISensor); } @@ -412,4 +402,21 @@ PyObject* KX_TouchSensor::PySetTouchMaterial(PyObject* self, PyObject *value) } #endif +PyObject* KX_TouchSensor::pyattr_get_object_hit(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef) +{ + KX_TouchSensor* self= static_cast<KX_TouchSensor*>(self_v); + + if (self->m_hitObject) + return self->m_hitObject->AddRef(); + else + Py_RETURN_NONE; +} + +PyObject* KX_TouchSensor::pyattr_get_object_hit_list(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef) +{ + KX_TouchSensor* self= static_cast<KX_TouchSensor*>(self_v); + return self->m_colliders->AddRef(); +} + + /* eof */ |