std::remove(flying_platforms.begin(), flying_platforms.end(), flying_platform),
flying_platforms.end());
}
+ SmokeCloud* smoke_cloud = dynamic_cast<SmokeCloud*> (*i);
+ if(smoke_cloud) {
+ smoke_clouds.erase(
+ std::remove(smoke_clouds.begin(), smoke_clouds.end(), smoke_cloud),
+ smoke_clouds.end());
+ }
delete *i;
i = gameobjects.erase(i);
= dynamic_cast<InteractiveObject*> (*i);
if(interactive_object)
interactive_objects.push_back(interactive_object);
+ SmokeCloud* smoke_cloud = dynamic_cast<SmokeCloud*> (*i);
+ if(smoke_cloud)
+ smoke_clouds.push_back(smoke_cloud);
+
gameobjects.push_back(*i);
}
return true;
}
+bool
+Sector::add_smoke_cloud(const Vector& pos)
+{
+ add_object(new SmokeCloud(pos));
+ return true;
+}
+
/* Break a brick: */
bool
Sector::trybreakbrick(const Vector& pos, bool small)
break;
case 3: // Add a golden herring
- add_upgrade(Vector(posx, posy), col_side, UPGRADE_HERRING);
+ add_upgrade(Vector(posx, posy), col_side, UPGRADE_STAR);
break;
case 4: // Add a 1up extra