using System.Collections.Generic;
namespace Thousandto.Launcher.ExternalLibs
{
///
/// 后处理效果的渲染处理
///
public class GonbestEffectBundleRenderer
{
private List _bundles = new List();
public void Intialize(List settingList)
{
if (settingList != null)
{
Release();
for (int i = 0; i < settingList.Count; i++)
{
if (settingList[i] != null)
{
_bundles.Add(new GonbestEffectBundle(settingList[i]));
}
}
_bundles.Sort(OnSortFunc);
}
}
public int Count {
get {
return _bundles.Count;
}
}
public void Release()
{
for (int i = 0; i < _bundles.Count; i++)
{
_bundles[i].Release();
}
_bundles.Clear();
}
public void Render(GonbestEffectContext context)
{
for (int i = 0; i < _bundles.Count; i++)
{
_bundles[i].Renderer.Render(context);
}
}
private int OnSortFunc(GonbestEffectBundle x, GonbestEffectBundle y)
{
//把改变Source的效果放在前面
return y.Renderer.EffectType - x.Renderer.EffectType ;
}
}
}