+void CapsuleChangeMenu::NextCapsule() {
+ int storedClass = parent->Game().state->GetCapsule().ClassIndex();
+ int &index = parent->Game().state->capsule;
+ ++index;
+ index %= parent->Game().state->NumCapsules();
+ // skip unexplored
+ while (parent->Game().state->GetCapsule().MaxClass() <= 0) {
+ ++index;
+ index %= parent->Game().state->NumCapsules();
+ }
+ parent->Game().state->GetCapsule().SetClass(storedClass);
+}
+
+void CapsuleChangeMenu::PreviousCapsule() {
+ int storedClass = parent->Game().state->GetCapsule().ClassIndex();
+ int &index = parent->Game().state->capsule;
+ --index;
+ if (index < 0) index += parent->Game().state->NumCapsules();
+ // skip unexplored
+ while (GetCapsule().MaxClass() <= 0) {
+ --index;
+ if (index < 0) index += parent->Game().state->NumCapsules();
+ }
+ parent->Game().state->GetCapsule().SetClass(storedClass);
+}
+
+void CapsuleChangeMenu::NextClass() {
+ GetCapsule().NextClass();
+}
+
+void CapsuleChangeMenu::PreviousClass() {
+ GetCapsule().PreviousClass();
+}
+
+
+void CapsuleChangeMenu::UpdateWorld(Uint32 deltaT) {