void Bullet::shutdown() { // Delete any remaining joints while (!joints_.empty()) deleteJoint(joints_[0]); // Delete all bodies while (!bodies_.empty()) deleteBody(bodies_[0]); // Delete all body templates while (!bodyTemplates_.empty()) deleteBodyTemplate(bodyTemplates_[0]); delete dynamicsWorld_; dynamicsWorld_ = nullptr; delete solver_; solver_ = nullptr; delete dispatcher_; dispatcher_ = nullptr; delete collisionConfiguration_; collisionConfiguration_ = nullptr; delete broadphase_; broadphase_ = nullptr; delete ghostPairCallback_; ghostPairCallback_ = nullptr; }
void Troll::update(float dt) { if (!dead) { ai->update(dt); } else { deathTimer += dt; if (!isFading) { if (deathAnim.curFrame != deathAnim.framesInAnimation-1) { rect = deathAnim.update(dt); } if (deathTimer >= timeToDie) { if (isGrounded()) { deleteBody(); isFading = true; deathTimer = 0.f; rect = deathAnim.frameIndex(deathAnim.framesInAnimation-1); } } else if (isGrounded()) { deleteBody(); } } else { if (deathTimer > fadeTime-1.f) { color.a = fadeTime - deathTimer; if (deathTimer >= fadeTime) { parent->removeChild(this, true); } } } } }
void Physics::reset() { size_t nbBodies = getBodyCount(); //delete bodies from last to first, so their indices don't change for(size_t i(0); i <nbBodies;i++) { deleteBody(nbBodies-i-1); } }
void QtButton::mousePressEvent(QMouseEvent *e) { _QtEdit = QtEdit::getInstance(); if (e->button() == Qt::RightButton && this_button_id <= _QtEdit->FPX) { //if (Is_AttFra || Is_InjFra || Is_ActFra || Is_BodyFra) if (_QtEdit->is_import) { _QtEdit->_DrawRectLayer->EndUpdate(); if (_QtEdit->is_import) { //_QtEdit->_DrawRectLayer->unscheduleUpdate(); _QtEdit->_DrawRectLayer->EndUpdate(); _QtEdit->ui.PauseButton->setText("Start"); _QtEdit->pu = -1; //_DrawRectLayer->drawPositionEdit(btn->Singl_ID); } _QtEdit->btn = this; _QtEdit->SlderAnimationAction(); popMenu = new QMenu(this); if (Is_ActFra) { DeleteActAction = new QAction(this); DeleteActAction->setObjectName(QStringLiteral("mydeleteAction")); DeleteActAction->setText(QStringLiteral("ɾ³ý¶¯×÷¹Ø¼üÖ¡")); QObject::connect(DeleteActAction, SIGNAL(triggered()), this, SLOT(deleteAct())); popMenu->addAction(DeleteActAction); popMenu->addSeparator(); } if (Is_AttFra) { DeleteAttAction = new QAction(this); DeleteAttAction->setObjectName(QStringLiteral("mydeleteAction")); DeleteAttAction->setText(QStringLiteral("ɾ³ý¹¥»÷¹Ø¼üÖ¡")); QObject::connect(DeleteAttAction, SIGNAL(triggered()), this, SLOT(deleteAtt())); popMenu->addAction(DeleteAttAction); ClearAttAction = new QAction(this); ClearAttAction->setObjectName(QStringLiteral("mydeleteAction")); ClearAttAction->setText(QStringLiteral("Çå¿Õ¹¥»÷¹Ø¼üÖ¡")); QObject::connect(ClearAttAction, SIGNAL(triggered()), this, SLOT(clearAtt())); popMenu->addAction(ClearAttAction); popMenu->addSeparator(); } else { AddAttAction = new QAction(this); AddAttAction->setObjectName(QStringLiteral("mydeleteAction")); AddAttAction->setText(QStringLiteral("Ôö¼Ó¹¥»÷¹Ø¼üÖ¡")); QObject::connect(AddAttAction, SIGNAL(triggered()), this, SLOT(addAtt())); popMenu->addAction(AddAttAction); popMenu->addSeparator(); } if (Is_InjFra) { DeleteInjAction = new QAction(this); DeleteInjAction->setObjectName(QStringLiteral("mydeleteAction")); DeleteInjAction->setText(QStringLiteral("ɾ³ýÊÜ»÷¹Ø¼üÖ¡")); QObject::connect(DeleteInjAction, SIGNAL(triggered()), this, SLOT(deleteInj())); popMenu->addAction(DeleteInjAction); ClearInjAction = new QAction(this); ClearInjAction->setObjectName(QStringLiteral("mydeleteAction")); ClearInjAction->setText(QStringLiteral("Çå¿ÕÊÜ»÷¹Ø¼üÖ¡")); QObject::connect(ClearInjAction, SIGNAL(triggered()), this, SLOT(clearInj())); popMenu->addAction(ClearInjAction); popMenu->addSeparator(); } else { AddInjAction = new QAction(this); AddInjAction->setObjectName(QStringLiteral("mydeleteAction")); AddInjAction->setText(QStringLiteral("Ôö¼ÓÊÜ»÷¹Ø¼üÖ¡")); QObject::connect(AddInjAction, SIGNAL(triggered()), this, SLOT(addInj())); popMenu->addAction(AddInjAction); popMenu->addSeparator(); } if (Is_BodyFra) { DeleteBodyAction = new QAction(this); DeleteBodyAction->setObjectName(QStringLiteral("mydeleteAction")); DeleteBodyAction->setText(QStringLiteral("ɾ³ýÅöײ¹Ø¼üÖ¡")); QObject::connect(DeleteBodyAction, SIGNAL(triggered()), this, SLOT(deleteBody())); popMenu->addAction(DeleteBodyAction); ClearBodyAction = new QAction(this); ClearBodyAction->setObjectName(QStringLiteral("mydeleteAction")); ClearBodyAction->setText(QStringLiteral("Çå¿ÕÅöײ¹Ø¼üÖ¡")); QObject::connect(ClearBodyAction, SIGNAL(triggered()), this, SLOT(clearBody())); popMenu->addAction(ClearBodyAction); popMenu->addSeparator(); } else { AddBodyAction = new QAction(this); AddBodyAction->setObjectName(QStringLiteral("mydeleteAction")); AddBodyAction->setText(QStringLiteral("Ôö¼ÓÅöײ¹Ø¼üÖ¡")); QObject::connect(AddBodyAction, SIGNAL(triggered()), this, SLOT(addBody())); popMenu->addAction(AddBodyAction); popMenu->addSeparator(); } if (Is_EffFra) { DeleteEffAction = new QAction(this); DeleteEffAction->setObjectName(QStringLiteral("mydeleteAction")); DeleteEffAction->setText(QStringLiteral("ɾ³ýÌØЧ¹Ø¼üÖ¡")); QObject::connect(DeleteEffAction, SIGNAL(triggered()), this, SLOT(deleteEff())); popMenu->addAction(DeleteEffAction); ClearEffAction = new QAction(this); ClearEffAction->setObjectName(QStringLiteral("mydeleteAction")); ClearEffAction->setText(QStringLiteral("Çå¿ÕÌØЧ¹Ø¼üÖ¡")); QObject::connect(ClearEffAction, SIGNAL(triggered()), this, SLOT(clearEff())); popMenu->addAction(ClearEffAction); popMenu->addSeparator(); } else { AddEffAction = new QAction(this); AddEffAction->setObjectName(QStringLiteral("mydeleteAction")); AddEffAction->setText(QStringLiteral("Ôö¼ÓÌØЧ¹Ø¼üÖ¡")); QObject::connect(AddEffAction, SIGNAL(triggered()), this, SLOT(addEff())); popMenu->addAction(AddEffAction); popMenu->addSeparator(); } if (Is_AttFra || Is_InjFra || Is_ActFra || Is_BodyFra || Is_EffFra) { DeleteAllAction = new QAction(this); DeleteAllAction->setObjectName(QStringLiteral("mydeleteAction")); DeleteAllAction->setText(QStringLiteral("ɾ³ýËùÓйؼüÖ¡")); QObject::connect(DeleteAllAction, SIGNAL(triggered()), this, SLOT(deleteFra())); popMenu->addAction(DeleteAllAction); } //else if (!(Is_AttFra && Is_InjFra && Is_ActFra && Is_BodyFra)) //{ // AddAllAction = new QAction(this); // AddAllAction->setObjectName(QStringLiteral("mydeleteAction")); // AddAllAction->setText(QStringLiteral("Ôö¼ÓËùÓйؼüÖ¡")); // QObject::connect(AddAllAction, SIGNAL(triggered()), this, SLOT(addFra())); // popMenu->addAction(AddAllAction); //} popMenu->setStyleSheet("QMenu{background-color:rgb(255,255,255);color:rgb(0, 0, 0);font:10pt ""ËÎÌå"";}" "QMenu::item:selected{background-color:#CCDAE7;}"); popMenu->exec(QCursor::pos()); } } else { //ÆäËûµÄ·µ»Ø¸¸ÀàʹÓà __super::mousePressEvent(e); } }