45 lines
753 B
C#
45 lines
753 B
C#
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
using OpenRA.FileFormats;
|
|
|
|
namespace OpenRA.GameRules
|
|
{
|
|
public class MusicInfo
|
|
{
|
|
public readonly MusicPool Pool;
|
|
public readonly string[] Music = { };
|
|
|
|
public MusicInfo( MiniYaml y )
|
|
{
|
|
FieldLoader.Load(this, y);
|
|
Pool = new MusicPool(Music);
|
|
}
|
|
}
|
|
|
|
public class MusicPool
|
|
{
|
|
readonly string[] clips;
|
|
int playing = 0;
|
|
|
|
public MusicPool(params string[] clips)
|
|
{
|
|
this.clips = clips;
|
|
}
|
|
|
|
public string GetNext()
|
|
{
|
|
playing = (playing + 1) % clips.Length;
|
|
return clips[playing];
|
|
}
|
|
public string GetPrev()
|
|
{
|
|
playing = (playing + clips.Length - 1) % clips.Length;
|
|
return clips[playing];
|
|
}
|
|
public string GetCurrent(){ return clips[playing];}
|
|
|
|
}
|
|
}
|