32 using System.Collections.Generic;
47 internal string LastEnteredName =
"";
54 get {
return _scores.Length; }
60 while ( i < _scores.Length )
62 yield
return _scores[i++];
66 System.Collections.IEnumerator
System.Collections.IEnumerable.GetEnumerator()
82 get {
return _scores[position - 1]; }
85 for (
int i = _scores.Length - 1; i > position - 1; i-- )
86 _scores[i] = _scores[i - 1];
87 _scores[position - 1] = value;
89 for (
int i = 0; i < _scores.Length; i++ )
90 _scores[i].Position = i + 1;
106 private void OnChanged()
108 if ( Changed != null )
116 : this( 10, false, 0 )
127 public ScoreList(
int length,
bool reverse,
double baseScore,
string defaultName )
129 if ( length < 0 )
throw new ArgumentException(
"List length must be more than zero!" );
134 for (
int i = 0; i < length; i++ )
136 _scores[i] = zeroItem;
147 public ScoreList(
int length,
bool reverse,
double baseScore)
148 : this(length, reverse, baseScore,
"-")
159 return Reverse && score < _scores[_scores.Length - 1].
Score ||
169 public int Add(
string name,
double score )
174 LastEnteredName = name;
176 for (
int i = 1; i <=
Count; i++ )
178 if ( !
Reverse && score >
this[i].Score ||
Reverse && score <
this[i].Score )
185 throw new InvalidOperationException(
"Internal error in HighScoreList!" );
bool Reverse
Käänteinen järjestys, ts. pienempi tulos on parempi.
Action Changed
Tapahtuu kun listan sisältö muuttuu.
ScoreItem(string name, double score)
Luo uuden sijoituksen listalle.
bool Qualifies(double score)
Tarkistaa, kelpaako tulos listalle.
ScoreList()
Luo tyhjän, 10 sijan top-listan.
Parhaiden pisteiden lista.
int Add(string name, double score)
Lisää nimen ja pisteet listalle, jos tulos on tarpeeksi hyvä.
ScoreList(int length, bool reverse, double baseScore)
Luo uuden, tyhjän top-listan.
ScoreList(int length, bool reverse, double baseScore, string defaultName)
Luo uuden, tyhjän top-listan.
IEnumerator< ScoreItem > GetEnumerator()
Lista, joka ilmoittaa muutoksistaan.
int Count
Kuinka monta nimeä listalle mahtuu.