private void PlayNextMessage(Messages.AudioMessage msg, int availableSoure) { if (msg.dependencyID > -1 && !Client.GetPlayedMessagesIDs().Contains(msg.dependencyID)) { messagesToBePlayed.Enqueue(msg); PlayNextMessage(messagesToBePlayed.Dequeue(), availableSoure); } else { PlayClipFromSource(msg.clip, sources[availableSoure], msg.pitch, msg.delay); IDsPlayingAtSourceArrayIndex[availableSoure] = msg.messageID; } }
private void PlayMessages() { int sourceAvailable = GetAvailableSource(); if (sourceAvailable > -1) { Messages.AudioMessage msg = messagesToBePlayed.Dequeue(); if (msg.messageID == -1000) { return; } PlayNextMessage(msg, sourceAvailable); } }