| 83 | } |
| 84 | |
| 85 | void RadioMessagePopup::setMessage(RadioMessage message) { |
| 86 | m_message = message; |
| 87 | |
| 88 | if (!message.chatterSound.empty() && message.textSpeed > 0) { |
| 89 | if (m_chatterSound) |
| 90 | m_chatterSound->stop(); |
| 91 | auto assets = Root::singleton().assets(); |
| 92 | m_chatterSound = make_shared<AudioInstance>(*assets->audio(message.chatterSound)); |
| 93 | m_chatterSound->setLoops(-1); |
| 94 | } |
| 95 | |
| 96 | enterStage(PopupStage::AnimateIn); |
| 97 | |
| 98 | updateAnchorOffset(); |
| 99 | } |
| 100 | |
| 101 | void RadioMessagePopup::setChatHeight(int chatHeight) { |
| 102 | auto endPosition = m_chatOffset + Vec2I(0, chatHeight); |