网上演练贵港万达广场(人员密集)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

87 lines
1.8 KiB

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AX.AudioSystem
{
/// <summary>
/// 表示一个播放列表。
/// </summary>
public class PlayList : IEnumerable<Track>
{
private Deque<Track> deque;
public PlayList()
{
deque = new Deque<Track>();
}
public int Count { get { return deque.Count; } }
public void Add(Track track)
{
deque.Add(track);
}
public void Add(string filename, bool played, bool playing)
{
var track = new Track();
track.Filename = filename;
track.Played = played;
track.Playing = playing;
deque.Add(track);
}
public bool Remove(string filename)
{
var index = IndexOf(filename);
if (index == -1)
return false;
deque.RemoveAt(index);
return true;
}
public int IndexOf(string filename)
{
var index = -1;
for (var i = 0; i < deque.Count; ++i)
{
if (deque[i].Filename == filename)
{
index = i;
break;
}
}
return index;
}
public void Clear()
{
deque.Clear();
}
public Track this[int index]
{
get { return deque[index]; }
set { deque[index] = value; }
}
public IEnumerator<Track> GetEnumerator()
{
return deque.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
}