#region License
#endregion
#region Using Statements
using
System.Collections;
using
System.Collections.Generic;
#endregion
namespace
Microsoft.Xna.Framework.Graphics
{
public
sealed
class
EffectParameterCollection : IEnumerable<EffectParameter>, IEnumerable
{
#region Public Properties
public
int
Count
{
get
{
return
elements.Count;
}
}
public
EffectParameter
this
[
int
index]
{
get
{
return
elements[index];
}
}
public
EffectParameter
this
[
string
name]
{
get
{
foreach
(EffectParameter elem
in
elements)
{
if
(name.Equals(elem.Name))
{
return
elem;
}
}
return
null
;
}
}
#endregion
#region Private Variables
private
List<EffectParameter> elements;
#endregion
#region Internal Constructor
internal
EffectParameterCollection(List<EffectParameter> value)
{
elements = value;
}
#endregion
#region Public Methods
public
List<EffectParameter>.Enumerator GetEnumerator()
{
return
elements.GetEnumerator();
}
public
EffectParameter GetParameterBySemantic(
string
semantic)
{
foreach
(EffectParameter elem
in
elements)
{
if
(semantic.Equals(elem.Semantic))
{
return
elem;
}
}
return
null
;
}
#endregion
#region IEnumerator Methods
IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return
elements.GetEnumerator();
}
IEnumerator<EffectParameter> System.Collections.Generic.IEnumerable<EffectParameter>.GetEnumerator()
{
return
elements.GetEnumerator();
}
#endregion
}
}