mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-03 21:25:33 +00:00
Add support for filtering in editor generated scenarios.
This commit is contained in:
parent
d60dc5ff2d
commit
d5cf7cab2a
@ -442,6 +442,13 @@ void create_engine::apply_level_filter(const std::string &name)
|
||||
}
|
||||
}
|
||||
|
||||
user_scenarios_filtered_.clear();
|
||||
for (size_t i = 0; i<user_scenarios_.size(); i++) {
|
||||
if (contains_ignore_case(user_scenarios_[i]->name(), name)) {
|
||||
user_scenarios_filtered_.push_back(i);
|
||||
}
|
||||
}
|
||||
|
||||
user_maps_filtered_.clear();
|
||||
for (size_t i = 0; i<user_maps_.size(); i++) {
|
||||
if (contains_ignore_case(user_maps_[i]->name(), name)) {
|
||||
@ -480,6 +487,11 @@ void create_engine::reset_level_filters()
|
||||
scenarios_filtered_.push_back(i);
|
||||
}
|
||||
|
||||
user_scenarios_filtered_.clear();
|
||||
for (size_t i = 0; i<user_scenarios_.size(); i++) {
|
||||
user_scenarios_filtered_.push_back(i);
|
||||
}
|
||||
|
||||
user_maps_filtered_.clear();
|
||||
for (size_t i = 0; i<user_maps_.size(); i++) {
|
||||
user_maps_filtered_.push_back(i);
|
||||
@ -595,6 +607,8 @@ void create_engine::set_current_level(const size_t index)
|
||||
case level::USER_MAP:
|
||||
current_level_index_ = user_maps_filtered_[index];
|
||||
break;
|
||||
case level::USER_SCENARIO:
|
||||
current_level_index_ = user_scenarios_filtered_[index];
|
||||
}
|
||||
|
||||
if (current_level_type_ == level::RANDOM_MAP) {
|
||||
@ -912,6 +926,11 @@ std::vector<create_engine::level_ptr> create_engine::get_levels_by_type(level::T
|
||||
levels.push_back(user_maps_[level]);
|
||||
}
|
||||
break;
|
||||
case level::USER_SCENARIO:
|
||||
BOOST_FOREACH(size_t level, user_scenarios_filtered_) {
|
||||
levels.push_back(user_scenarios_[level]);
|
||||
}
|
||||
break;
|
||||
case level::RANDOM_MAP:
|
||||
BOOST_FOREACH(size_t level, random_maps_filtered_) {
|
||||
levels.push_back(random_maps_[level]);
|
||||
|
@ -244,6 +244,7 @@ private:
|
||||
|
||||
std::vector<size_t> scenarios_filtered_;
|
||||
std::vector<size_t> user_maps_filtered_;
|
||||
std::vector<size_t> user_scenarios_filtered_;
|
||||
std::vector<size_t> campaigns_filtered_;
|
||||
std::vector<size_t> sp_campaigns_filtered_;
|
||||
std::vector<size_t> random_maps_filtered_;
|
||||
|
Loading…
x
Reference in New Issue
Block a user