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

◆ SelectRandomTrackIndexFromCategory()

int SelectRandomTrackIndexFromCategory ( EDynamicMusicPlayerCategory category,
int lookupType,
notnull array< ref DynamicMusicTrackData > tracks )
private

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

698 {
699 int count = tracks.Count();
700 if (count > 0)
701 {
702 int index = Math.RandomInt(0, count);
703
704 switch (lookupType)
705 {
706 case DynamicMusicPlayerTrackHistoryLookupType.ANY:
707 return index;
708
709 case DynamicMusicPlayerTrackHistoryLookupType.BUFFER:
710 // fallback - num of track is smaller than actual history size;
711 if (count <= TRACKS_BUFFER_HISTORY_SIZE)
712 return index;
713
714 if (m_LastPlayedTrackBufferPerCategory[category].GetValues().Find(index) == INDEX_NOT_FOUND)
715 return index;
716
717 return INDEX_NOT_FOUND;
718 }
719 }
720
721 return INDEX_NOT_FOUND;
722 }
const int TRACKS_BUFFER_HISTORY_SIZE
Определения DynamicMusicPlayer.c:97
ref map< EDynamicMusicPlayerCategory, ref SimpleCircularBuffer< int > > m_LastPlayedTrackBufferPerCategory
gets the playback mode as set in sounds menu; 0 - all; 1 - menu only
Определения DynamicMusicPlayer.c:122
Определения EnMath.c:7
const int INDEX_NOT_FOUND
Определения gameplay.c:13
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].

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

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