Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum TransportState
- {
- NONE,
- PREPARING,
- PREPARED,
- PLAYING,
- STOPPING,
- STOPPED
- };
- void AudioTransport::Update(const float fElapsedTime)
- {
- switch(m_currentState)
- {
- case TransportState::NONE:
- if(bPrepareToPlayRequested)
- m_currentState = TransportState::PREPARING;
- break;
- case TransportState::PREPARING:
- if(!IsPreparedToPlay())
- PrepareToPlay();
- else
- m_currentState = TransportState::PREPARED;
- break;
- case TransportState::PREPARED:
- if(bPlayRequested)
- {
- Play();
- m_currentState = TransportState::PLAYING;
- }
- break;
- case TransportState::PLAYING:
- if(!IsPlaying() || bStopRequested)
- m_currentState = TransportState::STOPPING;
- break;
- case TransportState::STOPPING:
- UpdateFadeout(fElapsedTime);
- if(FadedOut())
- {
- Stop();
- m_currentState == TransportState::STOPPED;
- }
- break;
- case default:
- LogError(“Invalid AudioTransport state\n”);
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement