Jypeli 10
The simple game programming library
DoubleMeter.cs
Siirry tämän tiedoston dokumentaatioon.
1using System;
2using System.Collections.Generic;
3
4namespace Jypeli
5{
10 public class DoubleMeter : Meter<double>
11 {
12 private List<Operation> operations = new List<Operation>();
13
15 public override double RelativeValue
16 {
17 get { return ( Value - MinValue ) / ( MaxValue - MinValue ); }
18 set { Value = MinValue + value * ( MaxValue - MinValue ); }
19 }
20
25 public DoubleMeter( double defaultValue )
26 : base( defaultValue, 0.0, double.MaxValue )
27 {
28 }
29
36 public DoubleMeter(double defaultValue,double minValue, double maxValue)
37 : base(defaultValue,minValue, maxValue)
38 {
39 }
40
46 public static implicit operator double( DoubleMeter m )
47 {
48 return m.Value;
49 }
50
56 public void AddValue( double change )
57 {
58 Value += change;
59 }
60
66 public void MultiplyValue( double multiplier )
67 {
68 Value *= multiplier;
69 }
70
78 public Operation AddOverTime( double change, double seconds, Action onComplete )
79 {
80 Operation op = AddOverTime( change, seconds );
81 op.Finished += onComplete;
82 return op;
83 }
84
91 public Operation AddOverTime( double change, double seconds )
92 {
93 Operation op = new DoubleMeterAddOperation( this, change, seconds );
94 op.Finished += delegate { operations.Remove( op ); };
95 op.Stopped += delegate { operations.Remove( op ); };
96 operations.Add( op );
97 return op;
98 }
99
103 public void Stop()
104 {
105 while ( operations.Count > 0 )
106 operations[0].Stop();
107 }
108
109 internal override double GetValue()
110 {
111 return Value;
112 }
113
114 internal override double GetMinValue()
115 {
116 return MinValue;
117 }
118
119 internal override double GetMaxValue()
120 {
121 return MaxValue;
122 }
123 }
124}
125
Tehtävä mittarin arvon kasvattamiselle.
Mittari, joka mittaa double-tyyppisiä arvoja. Sidottavissa näyttöihin, kuten ValueDisplay ja BarGa...
Definition: DoubleMeter.cs:11
override double GetMaxValue()
Definition: DoubleMeter.cs:119
override double GetMinValue()
Definition: DoubleMeter.cs:114
Operation AddOverTime(double change, double seconds, Action onComplete)
Lisää tietyn summan mittariin tasaisesti tietyn ajan sisällä.
Definition: DoubleMeter.cs:78
DoubleMeter(double defaultValue)
Mittari, joka mittaa double-tyyppisiä arvoja.
Definition: DoubleMeter.cs:25
void MultiplyValue(double multiplier)
Kertoo mittarin arvon jollakin. Sama kuin Value-ominaisuuden kertominen, mutta helpompi käyttää ta...
Definition: DoubleMeter.cs:66
override double GetValue()
Definition: DoubleMeter.cs:109
void AddValue(double change)
Lisää jotain mittarin arvoon. Sama kuin Value-ominaisuuteen lisääminen, mutta helpompi käyttää...
Definition: DoubleMeter.cs:56
List< Operation > operations
Definition: DoubleMeter.cs:12
DoubleMeter(double defaultValue, double minValue, double maxValue)
Mittari, joka mittaa double-tyyppisiä arvoja.
Definition: DoubleMeter.cs:36
void Stop()
Pysäyttää AddOverTime-metodilla tehtävät lisäykset mittariin.
Definition: DoubleMeter.cs:103
Operation AddOverTime(double change, double seconds)
Lisää tietyn summan mittariin tasaisesti tietyn ajan sisällä.
Definition: DoubleMeter.cs:91
override double RelativeValue
Definition: DoubleMeter.cs:16
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