NScumm.Scumm.Audio.IMuse.IMuseInternal.AllocatePlayer C# (CSharp) Method

AllocatePlayer() protected method

protected AllocatePlayer ( byte priority ) : Player
priority byte
return Player
        protected Player AllocatePlayer(byte priority)
        {
            Player best = null;
            byte bestpri = 255;

            for (var i = 0; i < _player_limit; i++)
            {
                var player = _players[i];
                if (!player.IsActive)
                    return player;
                if (player.Priority < bestpri)
                {
                    best = player;
                    bestpri = player.Priority;
                }
            }

            if (bestpri < priority || _recycle_players)
                return best;

            Debug.WriteLine("Denying player request");
            return null;
        }