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

◆ SelectRandomTrackIndexFromCategory()

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

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

701 {
702 int count = tracks.Count();
703 if (count > 0)
704 {
705 int index = Math.RandomInt(0, count);
706
707 switch (lookupType)
708 {
709 case DynamicMusicPlayerTrackHistoryLookupType.ANY:
710 return index;
711
712 case DynamicMusicPlayerTrackHistoryLookupType.BUFFER:
713 // fallback - num of track is smaller than actual history size;
714 if (count <= TRACKS_BUFFER_HISTORY_SIZE)
715 return index;
716
717 if (m_LastPlayedTrackBufferPerCategory[category].GetValues().Find(index) == INDEX_NOT_FOUND)
718 return index;
719
720 return INDEX_NOT_FOUND;
721 }
722 }
723
724 return INDEX_NOT_FOUND;
725 }
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().