298 ref array<ref SCR_FilterSetStorage> m_aFilterSets;
302 static void SaveFilterSet(
string tag,
SCR_FilterSet filterSet)
305 BaseContainer allFilterSetsContainer =
GetGame().GetGameUserSettings().GetModule(
"SCR_AllFilterSetsStorage");
309 for (
int i = allFilterSets.m_aFilterSets.Count()-1; i >= 0; i--)
312 if (storedFilterSet.m_sTag == tag)
314 allFilterSets.m_aFilterSets.Remove(i);
321 filterSetStorage.m_sTag = tag;
322 if (!filterSetStorage.m_aSelectedFilters)
323 filterSetStorage.m_aSelectedFilters =
new array<string>;
324 if (!filterSetStorage.m_aSelectedCategories)
325 filterSetStorage.m_aSelectedCategories =
new array<string>;
332 if (filter.GetSelected() && !filter.m_sInternalName.IsEmpty() && !
category.m_sInternalName.IsEmpty() )
334 filterSetStorage.m_aSelectedCategories.Insert(
category.m_sInternalName);
335 filterSetStorage.m_aSelectedFilters.Insert(filter.m_sInternalName);
340 allFilterSets.m_aFilterSets.Insert(filterSetStorage);
343 GetGame().UserSettingsChanged();
350 bool IsFilterSetSaved(
string tag)
353 BaseContainer allFilterSetsContainer =
GetGame().GetGameUserSettings().GetModule(
"SCR_AllFilterSetsStorage");
358 for (
int i = 0; i < allFilterSets.m_aFilterSets.Count(); i++)
361 if (iFilterSet.m_sTag == tag)
371 static bool TryLoadFilterSet(
string tag,
SCR_FilterSet filterSet)
374 BaseContainer allFilterSetsContainer =
GetGame().GetGameUserSettings().GetModule(
"SCR_AllFilterSetsStorage");
379 for (
int i = 0; i < allFilterSets.m_aFilterSets.Count(); i++)
382 if (iFilterSet.m_sTag == tag)
384 storedFilterSet = iFilterSet;
390 if (!storedFilterSet)
406 filter.SetSelected(
false);
411 for (
int i = 0; i < storedFilterSet.m_aSelectedFilters.Count(); i++)
413 string filterName = storedFilterSet.m_aSelectedFilters[i];
414 string categoryName = storedFilterSet.m_aSelectedCategories[i];
431 static void ResetAllToDefault()
435 allFilterSets.m_aFilterSets = {};
436 BaseContainer allFilterSetsContainer =
GetGame().GetGameUserSettings().GetModule(
"SCR_AllFilterSetsStorage");
440 GetGame().UserSettingsChanged();
bool GetSelected(bool defaultValue=false)
Returns the selected flag.
SCR_FilterCategory GetCategory()
Returns the category of this filter.
void SetSelected(bool newValue)
Sets the selected flag, doesn't do anything special.
void Init(SCR_FilterCategory category)
SCR_FilterCategory m_Category
Set filter title in config by internal name for better readability.