anx.framework/ANX.Framework/Graphics/EffectAnnotationCollection.cs
SND\AstrorEnales_cp db82358d24 - Changed access modifiers in DisplayModeCollection to match Xna signature and fixed the usage of that class
- Implemented Properties of EffectParameter
- Fixed OutOfRange behaviour in multiple collection files in graphics to match xna behaviour (which just returns null)
- Implemented some methods in collection classes
2015-03-15 01:11:38 +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.Untested)]
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()
{
annotations = 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();
}
}
}