1 using System.Collections.Generic; 2 using OpenBveApi.Routes; 3 using RouteManager2.Climate; 4 5 namespace CsvRwRouteParser 6 { 7 /// <summary>A single parsed block of data from a routefile</summary> 8 /// <remarks>Default block length is 25m</remarks> 9 internal class Block 10 { 11 internal int Background; 12 internal Brightness[] BrightnessChanges; 13 internal Fog Fog; 14 internal bool FogDefined; 15 internal int[] Cycle; 16 internal RailCycle[] RailCycles; 17 internal double Height; 18 internal Dictionary<int, Rail> Rails; 19 internal int[] RailType; 20 internal Dictionary<int, WallDike> RailWall; 21 internal Dictionary<int, WallDike> RailDike; 22 internal Pole[] RailPole; 23 internal Dictionary<int,List<FreeObj>> RailFreeObj; 24 internal List<FreeObj> GroundFreeObj; 25 internal Form[] Forms; 26 internal Crack[] Cracks; 27 internal Signal[] Signals; 28 internal Section[] Sections; 29 internal Limit[] Limits; 30 internal Stop[] StopPositions; 31 internal Sound[] SoundEvents; 32 internal Transponder[] Transponders; 33 internal DestinationEvent[] DestinationChanges; 34 internal PointOfInterest[] PointsOfInterest; 35 internal HornBlowEvent[] HornBlows; 36 internal TrackElement CurrentTrackState; 37 internal double Pitch; 38 internal double Turn; 39 internal int Station; 40 internal bool StationPassAlarm; 41 internal double Accuracy; 42 internal double AdhesionMultiplier; 43 internal int SnowIntensity; 44 internal int RainIntensity; 45 internal int WeatherObject; 46 internal LightDefinition LightDefinition; 47 internal int DynamicLightDefinition; 48 internal LightingChange[] LightingChanges; 49 internal Dictionary<int, PatternObj> PatternObjs; 50 Block(bool PreviewOnly)51 internal Block(bool PreviewOnly) 52 { 53 Rails = new Dictionary<int, Rail>(); 54 Limits = new Limit[] { }; 55 StopPositions = new Stop[] { }; 56 Station = -1; 57 StationPassAlarm = false; 58 if (!PreviewOnly) 59 { 60 BrightnessChanges = new Brightness[] { }; 61 Forms = new Form[] { }; 62 Cracks = new Crack[] { }; 63 Signals = new Signal[] { }; 64 Sections = new Section[] { }; 65 SoundEvents = new Sound[] { }; 66 Transponders = new Transponder[] { }; 67 DestinationChanges = new DestinationEvent[] { }; 68 HornBlows = new HornBlowEvent[] { }; 69 RailFreeObj = new Dictionary<int, List<FreeObj>>(); 70 GroundFreeObj = new List<FreeObj>(); 71 PointsOfInterest = new PointOfInterest[] { }; 72 DynamicLightDefinition = -1; 73 LightDefinition = new LightDefinition(); 74 LightingChanges = new LightingChange[] { }; 75 PatternObjs = new Dictionary<int, PatternObj>(); 76 } 77 } 78 } 79 } 80