| 888 | //---------------------------------------------------------------------------- |
| 889 | |
| 890 | bool RigidShape::onNewDataBlock(GameBaseData* dptr, bool reload) |
| 891 | { |
| 892 | mDataBlock = dynamic_cast<RigidShapeData*>(dptr); |
| 893 | if (!mDataBlock || !Parent::onNewDataBlock(dptr, reload)) |
| 894 | return false; |
| 895 | |
| 896 | // Update Rigid Info |
| 897 | mRigid.mass = mDataBlock->mass; |
| 898 | mRigid.oneOverMass = 1 / mRigid.mass; |
| 899 | mRigid.friction = mDataBlock->body.friction; |
| 900 | mRigid.restitution = mDataBlock->body.restitution; |
| 901 | mRigid.setCenterOfMass(mDataBlock->massCenter); |
| 902 | |
| 903 | // Ignores massBox, just set sphere for now. Derived objects |
| 904 | // can set what they want. |
| 905 | mRigid.setObjectInertia(); |
| 906 | |
| 907 | scriptOnNewDataBlock(); |
| 908 | |
| 909 | return true; |
| 910 | } |
| 911 | |
| 912 | |
| 913 | //---------------------------------------------------------------------------- |
no test coverage detected