Jypeli 10
The simple game programming library
IntMeter.cs
Siirry tämän tiedoston dokumentaatioon.
1using System;
2using System.Collections.Generic;
3
4namespace Jypeli
5{
10 public class IntMeter : Meter<int>
11 {
12 private List<Operation> operations = new List<Operation>();
13
15 public override double RelativeValue
16 {
17 get { return ( Value - MinValue ) / (double)( MaxValue - MinValue ); }
18 set { Value = (int)( MinValue + value * ( MaxValue - MinValue ) ); }
19 }
20
25 public IntMeter( int defaultValue )
26 : base( defaultValue, 0, int.MaxValue )
27 {
28 }
29
36 public IntMeter(int defaultValue,int minValue, int MaxValue)
37 : base(defaultValue, minValue,MaxValue)
38 {
39 }
40
46 public static implicit operator int( IntMeter m )
47 {
48 return m.Value;
49 }
50
56 public static implicit operator double( IntMeter m )
57 {
58 return (double)m.Value;
59 }
60
66 public void AddValue( int change )
67 {
68 Value += change;
69 }
70
76 public void MultiplyValue( int multiplier )
77 {
78 Value *= multiplier;
79 }
80
86 public void MultiplyValue( double multiplier )
87 {
88 Value = (int)Math.Round( Value * multiplier );
89 }
90
98 public Operation AddOverTime( int change, double seconds, Action onComplete )
99 {
100 Operation op = AddOverTime( change, seconds );
101 op.Finished += onComplete;
102 return op;
103 }
104
111 public Operation AddOverTime( int change, double seconds )
112 {
113 Operation op = new IntMeterAddOperation( this, change, seconds );
114 op.Finished += delegate { operations.Remove( op ); };
115 op.Stopped += delegate { operations.Remove( op ); };
116 operations.Add( op );
117 return op;
118 }
119
123 public void Stop()
124 {
125 while ( operations.Count > 0 )
126 operations[0].Stop();
127 }
128
129 internal override double GetValue()
130 {
131 return Value;
132 }
133
134 internal override double GetMinValue()
135 {
136 return MinValue;
137 }
138
139 internal override double GetMaxValue()
140 {
141 return MaxValue;
142 }
143 }
144}
145
Tehtävä mittarin arvon kasvattamiselle.
Mittari, joka mittaa int-tyyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGauge...
Definition: IntMeter.cs:11
void MultiplyValue(double multiplier)
Kertoo mittarin arvon jollakin. Sama kuin Value-ominaisuuden kertominen, mutta helpompi käyttää ta...
Definition: IntMeter.cs:86
List< Operation > operations
Definition: IntMeter.cs:12
override double GetMinValue()
Definition: IntMeter.cs:134
void Stop()
Pysäyttää AddOverTime-metodilla tehtävät lisäykset mittariin.
Definition: IntMeter.cs:123
Operation AddOverTime(int change, double seconds)
Lisää tietyn summan mittariin tasaisesti tietyn ajan sisällä.
Definition: IntMeter.cs:111
IntMeter(int defaultValue, int minValue, int MaxValue)
Mittari, joka mittaa int-tyyppisiä arvoja.
Definition: IntMeter.cs:36
Operation AddOverTime(int change, double seconds, Action onComplete)
Lisää tietyn summan mittariin tasaisesti tietyn ajan sisällä.
Definition: IntMeter.cs:98
IntMeter(int defaultValue)
Mittari, joka mittaa int-tyyppisiä arvoja.
Definition: IntMeter.cs:25
override double GetMaxValue()
Definition: IntMeter.cs:139
override double RelativeValue
Definition: IntMeter.cs:16
void MultiplyValue(int multiplier)
Kertoo mittarin arvon jollakin. Sama kuin Value-ominaisuuden kertominen, mutta helpompi käyttää ta...
Definition: IntMeter.cs:76
void AddValue(int change)
Lisää jotain mittarin arvoon. Sama kuin Value-ominaisuuteen lisääminen, mutta helpompi käyttää...
Definition: IntMeter.cs:66
override double GetValue()
Definition: IntMeter.cs:129
Mittari, joka mittaa erityyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGauge.
Definition: Meter.cs:100
ValueType MaxValue
Mittarin suurin sallittu arvo. Kun mittari saavuttaa tämän arvon, laukeaa tapahtuma UpperLimit.
Definition: Meter.cs:177
ValueType Value
Mittarin arvo.
Definition: Meter.cs:129
ValueType MinValue
Mittarin pienin sallittu arvo. Kun mittari saavuttaa tämän arvon, laukeaa tapahtuma LowerLimit.
Definition: Meter.cs:167
Käynnissä oleva tehtävä
Definition: Operation.cs:9
Action Finished
Tapahtuu kun tehtävä valmistuu. Ei tapahdu, jos tehtävä keskeytetään Stop-aliohjelmalla.
Definition: Operation.cs:24
Action Stopped
Tapahtuu kun tehtävä pysäytetään Stop-metodilla.
Definition: Operation.cs:29