void GameInterface::skipCurrentSpeeches() { Current *current = StarkGlobal->getCurrent(); if (!current) { return; // No current location, nothing to do } // Get all speeches Common::Array<Resources::Speech *> speeches; speeches.push_back(StarkGlobal->getLevel()->listChildrenRecursive<Resources::Speech>()); speeches.push_back(current->getLevel()->listChildrenRecursive<Resources::Speech>()); speeches.push_back(current->getLocation()->listChildrenRecursive<Resources::Speech>()); // Stop them for (uint i = 0; i < speeches.size(); i++) { Resources::Speech *speech = speeches[i]; if (speech->isPlaying()) { speech->stop(); } } }