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

◆ SetSelectedTrackFromCategory()

bool DynamicMusicPlayer::SetSelectedTrackFromCategory ( EDynamicMusicPlayerCategory category,
notnull array< ref DynamicMusicTrackData > tracklist,
int historyLookupType = DynamicMusicPlayerTrackHistoryLookupType.ANY )
inlineprivate

currently prioritize main menu track on DMP start

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

589 {
590 if (tracklist.Count() == 0)
591 return true;
592
593 array<ref DynamicMusicTrackData> filteredTracks = new array<ref DynamicMusicTrackData>();
594 foreach (DynamicMusicTrackData filteredTrack : tracklist)
595 {
596 if (filteredTrack.m_TimeOfDay == m_ActualTimeOfDay || filteredTrack.m_TimeOfDay == DynamicMusicPlayerTimeOfDay.ANY)
597 filteredTracks.Insert(filteredTrack);
598 }
599
600 float trackIndex;
602 if (m_Created && category == EDynamicMusicPlayerCategory.MENU)
603 trackIndex = SelectRandomTrackIndexFromCategoryPriorityFlagFirst(category, filteredTracks);
604 else
605 trackIndex = SelectRandomTrackIndexFromCategory(category, historyLookupType, filteredTracks);
606
607 if (trackIndex > INDEX_NOT_FOUND)
608 {
609 m_LastPlayedTrackBufferPerCategory[category].Add(trackIndex);
610 OnNextTrackSelected(filteredTracks[trackIndex], GetWaitTimeForCategory(category));
611
612 return true;
613 }
614
615 return false;
616 }
EDynamicMusicPlayerCategory
Определения EDynamicMusicPlayerCategory.c:2
int SelectRandomTrackIndexFromCategory(EDynamicMusicPlayerCategory category, int lookupType, notnull array< ref DynamicMusicTrackData > tracks)
Определения DynamicMusicPlayer.c:644
int SelectRandomTrackIndexFromCategoryPriorityFlagFirst(EDynamicMusicPlayerCategory category, notnull array< ref DynamicMusicTrackData > tracks)
Определения DynamicMusicPlayer.c:618
float GetWaitTimeForCategory(EDynamicMusicPlayerCategory category)
Определения DynamicMusicPlayer.c:682
void OnNextTrackSelected(DynamicMusicTrackData track, float waitTime)
Определения DynamicMusicPlayer.c:397
bool m_Created
Определения DynamicMusicPlayer.c:116
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

Перекрестные ссылки GetWaitTimeForCategory(), INDEX_NOT_FOUND, m_Created, m_LastPlayedTrackBufferPerCategory, OnNextTrackSelected(), SelectRandomTrackIndexFromCategory() и SelectRandomTrackIndexFromCategoryPriorityFlagFirst().

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