void Player::reset() { mCameraShake = 0; if(mBody) { gWorld->getPhysics()->removeBody(mBody); } mBody = gWorld->getPhysics()->addBody(); mBody->mProperties = kPlayerCollisionProperties; mBody->mCollideProperties = kPlayerBarrierCollisionProperties; mBody->mUserArg = this; mBody->mDamping = 0.1; mBody->mRadius = 20; mBody->mMass = 100; mController->reset(); mController->mBody = mBody; mController->mRotationDamping = 0.4f; mMovementRing->reset(); mTargetRing->reset(); mFiring = false; // Reset weapons. mWeaponSelector->reset(); mWeaponSelector->addWeapon(mLightningWeapon); // Force all weapons. //mWeaponSelector->enableAll(); //mWeaponSelector->addWeapon(mGooWeapon); //mWeaponSelector->addWeapon(mGrenadeLauncherWeapon); // Reset life. mHealth = 1.0f; mMaxHealth = 1.0f; mDeadTime = 0; mHealthMeter->setCurrentPercent(mHealth); // Reset shield. mHasShield = false; mEnergy = 1.0f; mMaxEnergy = 1.0f; mEnergyMeter->setCurrentPercent(mEnergy); mShieldToggle->reset(); // Force shield. //mHasShield = true; //mShieldToggle->enableAll(); //mEnergyMeter->enableAll(); // Reset misc. mScore = 0; mScoreMeter->setScore(mScore); setCenter(getSpawnPoint()); }
Box IMGUIBox::placeRect(const Box &r){ auto rect = getSpawnPoint(r); insertRect(rect); return rect; }