Building removal works now
This commit is contained in:
@@ -342,8 +342,8 @@ void StreamWorld::request_item(int type, int item)
|
||||
scenes[id].buildings.begin();
|
||||
std::vector<int>::iterator e =
|
||||
scenes[id].buildings.end();
|
||||
if (item_nodes.has(item))
|
||||
item_nodes[item]->queue_delete();
|
||||
// if (item_nodes.has(item))
|
||||
// item_nodes[item]->queue_delete();
|
||||
scenes[id].buildings.erase(std::remove(b, e, item),
|
||||
scenes[id].buildings.end());
|
||||
if (item_nodes.has(item)) {
|
||||
@@ -390,6 +390,14 @@ void StreamWorld::remove_generated_stuff()
|
||||
void StreamWorld::remove_building(int index)
|
||||
{
|
||||
// TODO: implement
|
||||
int i;
|
||||
unload_building(index);
|
||||
buildings.erase(buildings.begin() + index);
|
||||
for (i = index; i < (int)buildings.size(); i++) {
|
||||
item_nodes[i] = item_nodes[i + 1];
|
||||
}
|
||||
item_nodes.erase(buildings.size());
|
||||
update_items();
|
||||
}
|
||||
|
||||
void StreamWorld::run_command(const String &command, const Array &args)
|
||||
@@ -498,9 +506,7 @@ void StreamWorld::run_command(const String &command, const Array &args)
|
||||
return;
|
||||
}
|
||||
int id = args[0];
|
||||
unload_building(id);
|
||||
buildings.erase(buildings.begin() + id);
|
||||
update_items();
|
||||
remove_building(id);
|
||||
} else if (command == "remove_generated_stuff") {
|
||||
remove_generated_stuff();
|
||||
update_items();
|
||||
|
||||
Reference in New Issue
Block a user