MCPcopy Create free account
hub / github.com/WarmUpTill/SceneSwitcher / Prune

Method Prune

lib/switcher-data.cpp:38–148  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36}
37
38void SwitcherData::Prune()
39{
40 for (size_t i = 0; i < windowSwitches.size(); i++) {
41 WindowSwitch &s = windowSwitches[i];
42 if (!s.valid()) {
43 windowSwitches.erase(windowSwitches.begin() + i--);
44 }
45 }
46
47 for (size_t i = 0; i < randomSwitches.size(); i++) {
48 RandomSwitch &s = randomSwitches[i];
49 if (!s.valid()) {
50 randomSwitches.erase(randomSwitches.begin() + i--);
51 }
52 }
53
54 for (size_t i = 0; i < screenRegionSwitches.size(); i++) {
55 ScreenRegionSwitch &s = screenRegionSwitches[i];
56 if (!s.valid()) {
57 screenRegionSwitches.erase(
58 screenRegionSwitches.begin() + i--);
59 }
60 }
61
62 for (size_t i = 0; i < pauseEntries.size(); i++) {
63 PauseEntry &s = pauseEntries[i];
64 if (!s.valid()) {
65 pauseEntries.erase(pauseEntries.begin() + i--);
66 }
67 }
68
69 for (size_t i = 0; i < sceneSequenceSwitches.size(); i++) {
70 SceneSequenceSwitch &s = sceneSequenceSwitches[i];
71 if (!s.valid()) {
72 sceneSequenceSwitches.erase(
73 sceneSequenceSwitches.begin() + i--);
74 }
75
76 auto cur = &s;
77 while (cur != nullptr) {
78 if (cur->extendedSequence &&
79 !cur->extendedSequence->valid()) {
80 cur->extendedSequence.reset(nullptr);
81 s.activeSequence = nullptr;
82 }
83 cur = cur->extendedSequence.get();
84 }
85 }
86
87 for (size_t i = 0; i < sceneTransitions.size(); i++) {
88 SceneTransition &s = sceneTransitions[i];
89 if (!s.valid()) {
90 sceneTransitions.erase(sceneTransitions.begin() + i--);
91 }
92 }
93
94 for (size_t i = 0; i < defaultSceneTransitions.size(); i++) {
95 DefaultSceneTransition &s = defaultSceneTransitions[i];

Callers 2

AdvSceneSwitcherMethod · 0.80
SaveSceneSwitcherFunction · 0.80

Calls 6

WeakSourceValidFunction · 0.85
sizeMethod · 0.80
validMethod · 0.45
beginMethod · 0.45
resetMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected