DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ SelectRandomTrackIndexFromCategory()

int DynamicMusicPlayer::SelectRandomTrackIndexFromCategory ( EDynamicMusicPlayerCategory category,
int lookupType,
notnull array< ref DynamicMusicTrackData > tracks )
inlineprivate

См. определение в файле DynamicMusicPlayer.c строка 644

645 {
646 int count = tracks.Count();
647 if (count > 0)
648 {
649 int index = Math.RandomInt(0, count);
650
651 switch (lookupType)
652 {
653 case DynamicMusicPlayerTrackHistoryLookupType.ANY:
654 return index;
655
656 case DynamicMusicPlayerTrackHistoryLookupType.BUFFER:
657 // fallback - num of track is smaller than actual history size;
658 if (count <= TRACKS_BUFFER_HISTORY_SIZE)
659 return index;
660
661 if (m_LastPlayedTrackBufferPerCategory[category].GetValues().Find(index) == INDEX_NOT_FOUND)
662 return index;
663
664 return INDEX_NOT_FOUND;
665 }
666 }
667
668 return INDEX_NOT_FOUND;
669 }
const int TRACKS_BUFFER_HISTORY_SIZE
Определения DynamicMusicPlayer.c:83
ref map< EDynamicMusicPlayerCategory, ref SimpleCircularBuffer< int > > m_LastPlayedTrackBufferPerCategory
gets the playback mode as set in sounds menu; 0 - all; 1 - menu only
Определения DynamicMusicPlayer.c:108
const int INDEX_NOT_FOUND
Определения gameplay.c:13

Перекрестные ссылки INDEX_NOT_FOUND, m_LastPlayedTrackBufferPerCategory, Math::RandomInt() и TRACKS_BUFFER_HISTORY_SIZE.

Используется в SetSelectedTrackFromCategory().