// ------------------------------ // 消去する // ------------------------------ void CActor::Remove() { Erase_if(actor, [](std::shared_ptr<CActor> &obj) { return obj->isDelete; }); }
void renderBuildingLayers(Array<BuildingLayer>& layer1, Array<BuildingLayer2>& layer2, const ResourceLoader& resources) { // building layers auto tBuildingLayer1 = resources.getTextures().getBackgroundBuildingTexture(0).scale(2); auto tBuildingLayer2 = resources.getTextures().getBackgroundBuildingTexture(1).scale(2); for (auto& o : layer1) { o.move(Vec2(-2.5f * 0.3f, 0.0)); tBuildingLayer1.draw(o.getPos() * 2); if (o.getPos().x < -320.0) o.die(); } Erase_if(layer1, [](const BuildingLayer& l){ return l.hasDeadObject(); }); for (auto& o : layer2) { o.move(Vec2(-2.5f * 0.5f, 0.0)); tBuildingLayer2.draw(o.getPos() * 2); if (o.getPos().x < -320.0) o.die(); } Erase_if(layer2, [](const BuildingLayer2& l){ return l.hasDeadObject(); }); }
void ShotManager::move() { for (auto& shot : shots) { shot->move(); } Erase_if(shots, [](std::shared_ptr<Shot> shot) {return !shot->getEnable(); }); }