| 1587 | } |
| 1588 | |
| 1589 | void PlayLayer::resetLevel() |
| 1590 | { |
| 1591 | _attempts++; |
| 1592 | auto dir = Director::getInstance(); |
| 1593 | _player1->setPosition({2, 105}); |
| 1594 | _player1->setRotation(0); |
| 1595 | _player1->setVisible(true); |
| 1596 | _player2->setPosition({2, 105}); |
| 1597 | _player2->setRotation(0); |
| 1598 | _player2->setVisible(false); |
| 1599 | _player2->setActive(false); |
| 1600 | m_obCamPos.x = 0; |
| 1601 | m_obCamPos.y = 0; |
| 1602 | _bottomGround->setPositionX(0); |
| 1603 | _ceiling->setPositionX(0); |
| 1604 | _player1->reset(); |
| 1605 | _player2->reset(); |
| 1606 | m_pBG->setPositionX(dir->getWinSize().x / 2); |
| 1607 | _enterEffectID = 0; |
| 1608 | m_bEndAnimation = false; |
| 1609 | _isDualMode = false; |
| 1610 | _secondsSinceStart = 0; |
| 1611 | |
| 1612 | for (size_t i = 0; i < _groups.size(); i++) |
| 1613 | _groups[i]._alpha = 1.f; |
| 1614 | |
| 1615 | for (size_t i = 0; i < _groups.size(); i++) |
| 1616 | _groups[i]._alpha = 1.f; |
| 1617 | |
| 1618 | for (auto obj : this->_pObjects) |
| 1619 | { |
| 1620 | if (!obj) |
| 1621 | continue; |
| 1622 | if (obj->_isTrigger) |
| 1623 | { |
| 1624 | auto trigger = dynamic_cast<EffectGameObject*>(obj); |
| 1625 | trigger->_wasTriggerActivated = false; |
| 1626 | } |
| 1627 | obj->_hasBeenActivatedP1 = false; |
| 1628 | obj->_hasBeenActivatedP2 = false; |
| 1629 | obj->_effectOpacityMultipler = 1.f; |
| 1630 | obj->setActive(false); |
| 1631 | if (obj->getParent() != nullptr) |
| 1632 | { |
| 1633 | if (obj->_particle) |
| 1634 | { |
| 1635 | AX_SAFE_RETAIN(obj->_particle); |
| 1636 | removeChild(obj->_particle, true); |
| 1637 | } |
| 1638 | if (obj->_glowSprite) |
| 1639 | { |
| 1640 | AX_SAFE_RETAIN(obj->_glowSprite); |
| 1641 | _glowBatchNode->removeChild(obj->_glowSprite, true); |
| 1642 | } |
| 1643 | AX_SAFE_RETAIN(obj); |
| 1644 | //_mainBatchNode->removeChild(obj, true); |
| 1645 | if (isObjectBlending(obj)) |
| 1646 | { |
no test coverage detected