diff options
author | Benoit Bolsee <benoit.bolsee@online.be> | 2009-01-15 01:33:39 +0300 |
---|---|---|
committer | Benoit Bolsee <benoit.bolsee@online.be> | 2009-01-15 01:33:39 +0300 |
commit | 509ca83ef1d10fab4903981714cfab3719280e04 (patch) | |
tree | 0b065c5d22bb511a148db43ba260e98195f5c155 /source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp | |
parent | 00c12e09066c551e3ae8ee6da3cb85fb3bcf90f8 (diff) |
BGE patch 18065: gameobj mass writeable + setmass actuator. This patch allows to change the mass of a dynamic or rigid body object during the game. Two methods are available: in a Python script by setting the mass attribute of the game object; by logic brick with the Edit Object->Dynamics->Set Mass actuator. The mass can only be set on dynamic objects and must be a positive floating point value.
Diffstat (limited to 'source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp b/source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp index d44ab477749..176ccf1a84a 100644 --- a/source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp +++ b/source/gameengine/Ketsji/KX_SCA_DynamicActuator.cpp @@ -133,10 +133,12 @@ KX_PYMETHODDEF_DOC(KX_SCA_DynamicActuator, getOperation, KX_SCA_DynamicActuator::KX_SCA_DynamicActuator(SCA_IObject *gameobj, short dyn_operation, + float setmass, PyTypeObject* T) : SCA_IActuator(gameobj, T), - m_dyn_operation(dyn_operation) + m_dyn_operation(dyn_operation), + m_setmass(setmass) { } /* End of constructor */ @@ -179,6 +181,9 @@ bool KX_SCA_DynamicActuator::Update() case 3: controller->setRigidBody(false); break; + case 4: + controller->SetMass(m_setmass); + break; } return false; |