NScumm.Scumm.Audio.IMuse.IMuseInternal.AllocatePart C# (CSharp) Метод

AllocatePart() защищенный Метод

protected AllocatePart ( byte pri, MidiDriver midi ) : Part
pri byte
midi NScumm.Core.Audio.MidiDriver
Результат Part
        internal protected Part AllocatePart(byte pri, MidiDriver midi)
        {
            Part best = null;

            for (var i = 0; i < _parts.Length; i++)
            {
                var part = _parts[i];
                if (part.Player == null)
                {
                    return part;
                }
                if (pri >= part.PriorityEffective)
                {
                    pri = (byte)part.PriorityEffective;
                    best = part;
                }
            }

            if (best != null)
            {
                best.Uninit();
                ReallocateMidiChannels(midi);
            }
            else
            {
                Debug.WriteLine("Denying part request");
            }
            return best;
        }