@@ -176,6 +176,12 @@ public class SMSStream
176
176
public float Volume = 1.0f ;
177
177
public List < VolumeCurve > VolumeCurves = new List < VolumeCurve > ( ) ;
178
178
public FrequencyCurve FrequencyCurve ;
179
+ public bool [ ] Season ;
180
+ public bool [ ] Weather ;
181
+ public int [ ] TimeInterval ;
182
+ public List < int [ ] > TimeIntervals ;
183
+
184
+
179
185
180
186
public SMSStream ( STFReader stf )
181
187
{
@@ -186,6 +192,42 @@ public SMSStream(STFReader stf)
186
192
new STFReader . TokenProcessor ( "volumecurve" , ( ) => { VolumeCurves . Add ( new VolumeCurve ( stf ) ) ; } ) ,
187
193
new STFReader . TokenProcessor ( "frequencycurve" , ( ) => { FrequencyCurve = new FrequencyCurve ( stf ) ; } ) ,
188
194
new STFReader . TokenProcessor ( "volume" , ( ) => { Volume = stf . ReadFloatBlock ( STFReader . UNITS . None , Volume ) ; } ) ,
195
+ new STFReader . TokenProcessor ( "ortstimeofday" , ( ) => {
196
+ if ( TimeIntervals == null )
197
+ TimeIntervals = new List < int [ ] > ( ) ;
198
+ var timeInterval = new int [ 2 ] ;
199
+ stf . MustMatch ( "(" ) ;
200
+ timeInterval [ 0 ] = stf . ReadInt ( null ) ;
201
+ timeInterval [ 1 ] = stf . ReadInt ( null ) ;
202
+ TimeIntervals . Add ( timeInterval ) ;
203
+ stf . SkipRestOfBlock ( ) ;
204
+ } ) ,
205
+ new STFReader . TokenProcessor ( "ortsseason" , ( ) => {
206
+ Season = new bool [ 4 ] ;
207
+ stf . MustMatch ( "(" ) ;
208
+ stf . ParseBlock ( new STFReader . TokenProcessor [ ] {
209
+ new STFReader . TokenProcessor ( "spring" , ( ) => { if ( stf . ReadBoolBlock ( true ) )
210
+ Season [ ( int ) SeasonType . Spring ] = true ; } ) ,
211
+ new STFReader . TokenProcessor ( "summer" , ( ) => { if ( stf . ReadBoolBlock ( true ) )
212
+ Season [ ( int ) SeasonType . Summer ] = true ; } ) ,
213
+ new STFReader . TokenProcessor ( "autumn" , ( ) => { if ( stf . ReadBoolBlock ( true ) )
214
+ Season [ ( int ) SeasonType . Autumn ] = true ; } ) ,
215
+ new STFReader . TokenProcessor ( "winter" , ( ) => { if ( stf . ReadBoolBlock ( true ) )
216
+ Season [ ( int ) SeasonType . Winter ] = true ; } ) ,
217
+ } ) ;
218
+ } ) ,
219
+ new STFReader . TokenProcessor ( "ortsweather" , ( ) => {
220
+ Weather = new bool [ 3 ] ;
221
+ stf . MustMatch ( "(" ) ;
222
+ stf . ParseBlock ( new STFReader . TokenProcessor [ ] {
223
+ new STFReader . TokenProcessor ( "clear" , ( ) => { if ( stf . ReadBoolBlock ( true ) )
224
+ Weather [ ( int ) WeatherType . Clear ] = true ; } ) ,
225
+ new STFReader . TokenProcessor ( "snow" , ( ) => { if ( stf . ReadBoolBlock ( true ) )
226
+ Weather [ ( int ) WeatherType . Snow ] = true ; } ) ,
227
+ new STFReader . TokenProcessor ( "rain" , ( ) => { if ( stf . ReadBoolBlock ( true ) )
228
+ Weather [ ( int ) WeatherType . Rain ] = true ; } ) ,
229
+ } ) ;
230
+ } ) ,
189
231
} ) ;
190
232
//if (Volume > 1) Volume /= 100f;
191
233
}
0 commit comments