Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2009-04-04 06:57:35 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-04-04 06:57:35 +0400
commit6be69211843ee37ab9be763df0621db94dbfd69b (patch)
treee4efbb5bc2b60986bac5276881e11e54fdd5fb7d /source/gameengine/GameLogic/SCA_ISensor.cpp
parent29f5c7dd5d0871835e4d50b2b3018b9a24a93350 (diff)
moved more attributes from getattr into PyAttributeDef's
Diffstat (limited to 'source/gameengine/GameLogic/SCA_ISensor.cpp')
-rw-r--r--source/gameengine/GameLogic/SCA_ISensor.cpp35
1 files changed, 18 insertions, 17 deletions
diff --git a/source/gameengine/GameLogic/SCA_ISensor.cpp b/source/gameengine/GameLogic/SCA_ISensor.cpp
index 8a40c0c35f3..a4f493d82c8 100644
--- a/source/gameengine/GameLogic/SCA_ISensor.cpp
+++ b/source/gameengine/GameLogic/SCA_ISensor.cpp
@@ -454,9 +454,8 @@ PyAttributeDef SCA_ISensor::Attributes[] = {
KX_PYATTRIBUTE_INT_RW("frequency",0,100000,true,SCA_ISensor,m_pulse_frequency),
KX_PYATTRIBUTE_BOOL_RW("invert",SCA_ISensor,m_invert),
KX_PYATTRIBUTE_BOOL_RW("level",SCA_ISensor,m_level),
- // make these properties read-only in _setaddr, must still implement them in py_getattro
- KX_PYATTRIBUTE_DUMMY("triggered"),
- KX_PYATTRIBUTE_DUMMY("positive"),
+ KX_PYATTRIBUTE_RO_FUNCTION("triggered", SCA_ISensor, pyattr_get_triggered),
+ KX_PYATTRIBUTE_RO_FUNCTION("positive", SCA_ISensor, pyattr_get_positive),
{ NULL } //Sentinel
};
@@ -466,20 +465,6 @@ SCA_ISensor::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, "triggered"))
- {
- int retval = 0;
- if (SCA_PythonController::m_sCurrentController)
- retval = SCA_PythonController::m_sCurrentController->IsTriggered(this);
- return PyInt_FromLong(retval);
- }
- if (!strcmp(attr_str, "positive"))
- {
- int retval = IsPositiveTrigger();
- return PyInt_FromLong(retval);
- }
py_getattro_up(SCA_ILogicBrick);
}
@@ -490,4 +475,20 @@ int SCA_ISensor::py_setattro(PyObject *attr, PyObject *value)
return ret;
return SCA_ILogicBrick::py_setattro(attr, value);
}
+
+PyObject* SCA_ISensor::pyattr_get_triggered(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
+{
+ SCA_ISensor* self= static_cast<SCA_ISensor*>(self_v);
+ int retval = 0;
+ if (SCA_PythonController::m_sCurrentController)
+ retval = SCA_PythonController::m_sCurrentController->IsTriggered(self);
+ return PyInt_FromLong(retval);
+}
+
+PyObject* SCA_ISensor::pyattr_get_positive(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
+{
+ SCA_ISensor* self= static_cast<SCA_ISensor*>(self_v);
+ return PyInt_FromLong(self->IsPositiveTrigger());
+}
+
/* eof */