BGE: patch [#20293] Added python sensor attribute: Status.

This commit is contained in:
2010-01-30 18:53:33 +00:00
parent cfdd53a4f8
commit f7b7d7952d
4 changed files with 50 additions and 1 deletions

View File

@@ -360,6 +360,7 @@ PyAttributeDef SCA_ISensor::Attributes[] = {
KX_PYATTRIBUTE_BOOL_RW_CHECK("tap",SCA_ISensor,m_tap,pyattr_check_tap),
KX_PYATTRIBUTE_RO_FUNCTION("triggered", SCA_ISensor, pyattr_get_triggered),
KX_PYATTRIBUTE_RO_FUNCTION("positive", SCA_ISensor, pyattr_get_positive),
KX_PYATTRIBUTE_RO_FUNCTION("status", SCA_ISensor, pyattr_get_status),
//KX_PYATTRIBUTE_TODO("links"),
//KX_PYATTRIBUTE_TODO("posTicks"),
//KX_PYATTRIBUTE_TODO("negTicks"),
@@ -382,6 +383,28 @@ PyObject* SCA_ISensor::pyattr_get_positive(void *self_v, const KX_PYATTRIBUTE_DE
return PyLong_FromSsize_t(self->GetState());
}
PyObject* SCA_ISensor::pyattr_get_status(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
{
SCA_ISensor* self= static_cast<SCA_ISensor*>(self_v);
int status = 0;
if (self->GetState())
{
if (self->GetState() == self->GetPrevState())
{
status = 2;
}
else
{
status = 1;
}
}
else if (self->GetState() != self->GetPrevState())
{
status = 3;
}
return PyLong_FromSsize_t(status);
}
int SCA_ISensor::pyattr_check_level(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
{
SCA_ISensor* self= static_cast<SCA_ISensor*>(self_v);