Jypeli 10
The simple game programming library
EasyHighScore.cs
Siirry tämän tiedoston dokumentaatioon.
1using System;
2
3namespace Jypeli.Widgets
4{
8 public class EasyHighScore
9 {
11 string fileName;
12
16 public HighScoreWindow HighScoreWindow { get; private set; }
17
22 {
23 get { return HighScoreWindow.NameInputWindow; }
24 }
25
29 public int MaxNameLength
30 {
31 get { return HighScoreWindow.MaxNameLength; }
32 set { HighScoreWindow.MaxNameLength = value; }
33 }
34
38 public string Text
39 {
40 get { return HighScoreWindow.Message.Text; }
41 set { HighScoreWindow.Message.Text = value; }
42 }
43
47 public string EnterText
48 {
51 }
52
56 public Color Color
57 {
58 get
59 {
61 }
62 set
63 {
64 HighScoreWindow.Color = value;
65 }
66 }
67
74 public EasyHighScore(string fileName, int places, string defaultName)
75 {
76 this.score = new ScoreList(places, false, 0, defaultName);
77 this.fileName = fileName;
80 }
81
87 public EasyHighScore(string fileName, int places)
88 {
89 this.score = new ScoreList(places, false, 0);
90 this.fileName = fileName;
93 }
94
99 public EasyHighScore(int places)
100 : this(Game.Name + "_score.xml", places)
101 {
102 }
103
108 : this(Game.Name + "_score.xml", 10)
109 {
110 }
111
113 {
114 Vector entrySize = Font.Default.MeasureSize("XXXXXXXXXXXXXXXXXXXXXXXXX");
115 int width = (int)Math.Min(Game.Screen.Width - 30.0, entrySize.X);
116 int height = (int)Math.Min(Game.Screen.Height - 30.0, entrySize.Y * 20.0);
117 // TODO ^ 20.0 is just a silly magic number, no real logic behind it
118 // it seems to work well enough with both the medium and huge fonts, so it's
119 // a fitting temporary solution until someone has the time to figure out the
120 // mess of layouts and HighScoreWindow / ScoreListWidget and the classes
121 // they're derived from
122
123 HighScoreWindow = new HighScoreWindow(width, height, "High score", score);
124 }
125
129 public void Show()
130 {
132 }
133
137 public void Clear()
138 {
139 score = new ScoreList( score.Count, score.Reverse, 0 );
141 }
142
148 public void EnterAndShow(double newScore)
149 {
151 HighScoreWindow.ShowNameInput( newScore );
153 }
154
155 private void SaveData(Window sender)
156 {
159 }
160
161 private void LoadData()
162 {
164 }
165 }
166}
Label Message
Viesti tai kysymys.
void Save(object obj, string fileName)
Fontti.
Definition: Font.cs:24
Vector MeasureSize(string str)
Laskee tekstin koon fontilla.
Definition: Font.cs:279
static readonly Font Default
Oletusfontti.
Definition: Font.cs:31
void Add(Light light)
Lisää valon peliin. Nykyisellään valoja voi olla ainoastaan yksi kappale. Toistaiseksi ei tuettu Wind...
Definition: Effects.cs:27
static FileManager DataStorage
Tietovarasto, johon voi tallentaa tiedostoja pidempiaikaisesti. Sopii esimerkiksi pelitilanteen lataa...
Definition: Game.cs:107
static Game Instance
Käynnissä olevan pelin pääolio.
Definition: Game.cs:96
static void AssertInitialized(Action actionMethod)
Suorittaa aliohjelman kun peli on varmasti alustettu.
static ScreenView Screen
Näytön dimensiot, eli koko ja reunat.
Definition: Graphics.cs:90
Ikkuna, joka sisältää käyttäjän määrittelemän kysymyksen, tekstinsyöttökentän ja OK-painikkeen....
Definition: InputWindow.cs:43
virtual string Text
Teksti.
Definition: Label.cs:96
Parhaiden pisteiden lista.
Definition: ScoreList.cs:42
bool Reverse
Käänteinen järjestys, ts. pienempi tulos on parempi.
Definition: ScoreList.cs:103
int Count
Kuinka monta nimeä listalle mahtuu.
Definition: ScoreList.cs:57
double Width
Näytön leveys x-suunnassa.
Definition: View.cs:222
double Height
Näytön korkeus y-suunnassa.
Definition: View.cs:235
Helpompikäyttöinen parhaiden pisteiden lista.
Definition: EasyHighScore.cs:9
string Text
Pisteikkunan teksti.
void SaveData(Window sender)
EasyHighScore()
Luo uuden parhaiden pisteiden ikkunan kymmenellä pistesijalla.
int MaxNameLength
Pisin sallittu nimen pituus.
EasyHighScore(string fileName, int places, string defaultName)
Luo uuden parhaiden pisteiden ikkunan.
InputWindow NameInputWindow
Nimensyöttöikkuna.
void Show()
Näyttää parhaat pisteet.
void Clear()
Tyhjentää parhaat pisteet.
EasyHighScore(string fileName, int places)
Luo uuden parhaiden pisteiden ikkunan.
string EnterText
Nimensyöttöikkunan teksti.
HighScoreWindow HighScoreWindow
Listaikkuna.
EasyHighScore(int places)
Luo uuden parhaiden pisteiden ikkunan.
void EnterAndShow(double newScore)
Näyttää parhaat pisteet, ja jos annetut pisteet riittävät, antaa syöttää nimen listalle....
Parhaiden pisteiden ikkuna.
int MaxNameLength
Pisin mahdollinen nimi, jonka listaan voi syöttää.
InputWindow NameInputWindow
Nimensyöttöikkuna.
void ShowNameInput(double newScore)
Näyttää nimensyöttöikkunan.
Ikkuna.
Definition: Window.cs:37
Väri.
Definition: Color.cs:13
2D-vektori.
Definition: Vector.cs:67
double Y
Vektorin Y-komponentti
Definition: Vector.cs:339
double X
Vektorin X-komponentti.
Definition: Vector.cs:334
static Vector Min(params Vector[] vectors)
Palauttaa lyhimmän vektorin.
Definition: Vector.cs:250