anx.framework/ANX.Framework/Graphics/EffectAnnotationCollection.cs
SND\AstrorEnales_cp 6c488dbca5 - Working on tests for all the graphics collection classes (Finished: ModelBoneCollection, DisplayModeCollection, ModelBone)
- Added some excludes to the AssemblyLoader to decrease startup time a little bit
2015-03-15 01:11:53 +01:00

59 lines
1.7 KiB
C#

#region Using Statements
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using ANX.Framework.NonXNA.Development;
#endregion // Using Statements
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework.Graphics
{
[PercentageComplete(100)]
[Developer("AstrorEnales")]
[TestState(TestStateAttribute.TestState.InProgress)]
public sealed class EffectAnnotationCollection : IEnumerable<EffectAnnotation>
{
private readonly List<EffectAnnotation> annotations;
public int Count
{
get { return annotations.Count; }
}
public EffectAnnotation this[int index]
{
get { return index >= 0 && index < annotations.Count ? annotations[index] : null; }
}
public EffectAnnotation this[string name]
{
get { return annotations.FirstOrDefault(annotation => annotation.Name == name); }
}
internal EffectAnnotationCollection(List<EffectAnnotation> setAnnotations)
{
annotations = setAnnotations ?? new List<EffectAnnotation>();
}
IEnumerator<EffectAnnotation> IEnumerable<EffectAnnotation>.GetEnumerator()
{
return annotations.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return annotations.GetEnumerator();
}
public List<EffectAnnotation>.Enumerator GetEnumerator()
{
return annotations.GetEnumerator();
}
}
}