void EditorSectorsMenu::menu_action(MenuItem& item) { if (item.get_id() >= 0) { Level* level = Editor::current()->get_level(); Sector* sector = level->get_sector(item.get_id()); Editor::current()->load_sector(sector->get_name()); MenuManager::instance().clear_menu_stack(); } else { switch (item.get_id()) { case -1: break; case -2: create_sector(); break; case -3: delete_sector(); break; case -4: MenuManager::instance().clear_menu_stack(); break; } } }
Sector* Level::get_sector(const std::string& name) { for(Sectors::iterator i = sectors.begin(); i != sectors.end(); ++i) { Sector* sector = *i; if(sector->get_name() == name) return sector; } return 0; }