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:
authorBenoit Bolsee <benoit.bolsee@online.be>2009-01-02 20:43:56 +0300
committerBenoit Bolsee <benoit.bolsee@online.be>2009-01-02 20:43:56 +0300
commitcc569504d0468ec19a1018ea804aa418c134cb0f (patch)
tree732f5d6fe3d742f63dae5f6e899aea566ae52b0f /source/gameengine/GameLogic/SCA_JoystickSensor.h
parentabd4934d1aeceafaa2fc242f00db0ba53a7e24db (diff)
BGE API Cleanup: update the python attribute definition framework.
* Value clamping to min/max is now supported as an option for integer, float and string attribute (for string clamping=trim to max length) * Post check function now take PyAttributeDef parameter so that more generic function can be written. * Definition of SCA_ILogicBrick::CheckProperty() function to check that a string attribute contains a valid property name of the parent game object. * Definition of enum attribute vi KX_PYATTRIBUTE_ENUM... macros. Enum are handled just like integer but to be totally paranoid, the sizeof() of the enum member is check at run time to match integer size. * More bricks updated to use the framework.
Diffstat (limited to 'source/gameengine/GameLogic/SCA_JoystickSensor.h')
-rw-r--r--source/gameengine/GameLogic/SCA_JoystickSensor.h22
1 files changed, 10 insertions, 12 deletions
diff --git a/source/gameengine/GameLogic/SCA_JoystickSensor.h b/source/gameengine/GameLogic/SCA_JoystickSensor.h
index 25103b3c6bc..fa11f1cc3d0 100644
--- a/source/gameengine/GameLogic/SCA_JoystickSensor.h
+++ b/source/gameengine/GameLogic/SCA_JoystickSensor.h
@@ -149,24 +149,22 @@ public:
KX_PYMETHOD_DOC_NOARGS(SCA_JoystickSensor,Connected);
/* attribute check */
- static int CheckAxis(void *self)
+ static int CheckAxis(void *self, const PyAttributeDef*)
{
SCA_JoystickSensor* sensor = reinterpret_cast<SCA_JoystickSensor*>(self);
- if (sensor->m_axis < 1 || sensor->m_axis > 2)
- {
- PyErr_SetString(PyExc_ValueError, "axis number must be 1 or 2");
- return 1;
- }
+ if (sensor->m_axis < 1)
+ sensor->m_axis = 1;
+ else if (sensor->m_axis > 2)
+ sensor->m_axis = 2;
return 0;
}
- static int CheckHat(void *self)
+ static int CheckHat(void *self, const PyAttributeDef*)
{
SCA_JoystickSensor* sensor = reinterpret_cast<SCA_JoystickSensor*>(self);
- if (sensor->m_hat < 1 || sensor->m_hat > 2)
- {
- PyErr_SetString(PyExc_ValueError, "hat number must be 1 or 2");
- return 1;
- }
+ if (sensor->m_hat < 1)
+ sensor->m_hat = 1;
+ else if (sensor->m_hat > 2)
+ sensor->m_hat = 2;
return 0;
}