Skip to content

Commit 35ea800

Browse files
committed
Cleanup: Replace signalObjects by an auto-property
1 parent bfdfae1 commit 35ea800

File tree

1 file changed

+50
-61
lines changed
  • Source/Orts.Simulation/Simulation/Signalling

1 file changed

+50
-61
lines changed

Source/Orts.Simulation/Simulation/Signalling/Signals.cs

Lines changed: 50 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public class Signals
5050
private TrackSectionsFile tsectiondat;
5151
private TrackDatabaseFile tdbfile;
5252

53-
private SignalObject[] signalObjects;
53+
public SignalObject[] SignalObjects { get; private set; }
5454
private List<SignalWorldObject> SignalWorldList = new List<SignalWorldObject>();
5555
private Dictionary<uint, SignalRefObject> SignalRefList;
5656
private Dictionary<uint, SignalObject> SignalHeadList;
@@ -162,9 +162,9 @@ public Signals(Simulator simulator, SignalConfigurationFile sigcfg, Cancellation
162162
}
163163

164164
var sob = new StringBuilder();
165-
for (var isignal = 0; isignal < signalObjects.Length - 1; isignal++)
165+
for (var isignal = 0; isignal < SignalObjects.Length - 1; isignal++)
166166
{
167-
var singleSignal = signalObjects[isignal];
167+
var singleSignal = SignalObjects[isignal];
168168
if (singleSignal == null)
169169
{
170170
sob.AppendFormat("\nInvalid entry : {0}\n", isignal);
@@ -395,17 +395,6 @@ public void Save(BinaryWriter outf)
395395

396396
}
397397

398-
/// <summary>
399-
/// Gets an array of all the SignalObjects.
400-
/// </summary>
401-
public SignalObject[] SignalObjects
402-
{
403-
get
404-
{
405-
return signalObjects;
406-
}
407-
}
408-
409398
/// <summary>
410399
/// Read all world files to get signal flags
411400
/// </summary>
@@ -579,7 +568,7 @@ public void Update(bool preUpdate)
579568
// update required part
580569
// in preupdate, process all
581570

582-
int totalSignal = signalObjects.Length - 1;
571+
int totalSignal = SignalObjects.Length - 1;
583572

584573
int updatestep = (totalSignal / 20) + 1;
585574
if (preUpdate)
@@ -589,7 +578,7 @@ public void Update(bool preUpdate)
589578

590579
for (int icount = updatecount; icount < Math.Min(totalSignal, updatecount + updatestep); icount++)
591580
{
592-
SignalObject signal = signalObjects[icount];
581+
SignalObject signal = SignalObjects[icount];
593582
if (signal != null && !signal.noupdate) // to cater for orphans, and skip signals which do not require updates
594583
{
595584
signal.Update();
@@ -634,8 +623,8 @@ private void BuildSignalList(TrItem[] TrItems, TrackNode[] trackNodes, TrackSect
634623
// set general items and create sections
635624
if (noSignals > 0)
636625
{
637-
signalObjects = new SignalObject[noSignals];
638-
SignalObject.signalObjects = signalObjects;
626+
SignalObjects = new SignalObject[noSignals];
627+
SignalObject.signalObjects = SignalObjects;
639628
}
640629

641630
SignalObject.trackNodes = trackNodes;
@@ -703,7 +692,7 @@ private void BuildSignalList(TrItem[] TrItems, TrackNode[] trackNodes, TrackSect
703692
}
704693
else
705694
{
706-
signalObjects = new SignalObject[0];
695+
SignalObjects = new SignalObject[0];
707696
}
708697
}
709698

@@ -717,9 +706,9 @@ private void SplitBackfacing(TrItem[] TrItems, TrackNode[] TrackNodes)
717706

718707
// Loop through all signals to check on Backfacing heads
719708

720-
for (int isignal = 0; isignal < signalObjects.Length - 1; isignal++)
709+
for (int isignal = 0; isignal < SignalObjects.Length - 1; isignal++)
721710
{
722-
SignalObject singleSignal = signalObjects[isignal];
711+
SignalObject singleSignal = SignalObjects[isignal];
723712
if (singleSignal != null && singleSignal.isSignal &&
724713
singleSignal.WorldObject != null && singleSignal.WorldObject.Backfacing.Count > 0)
725714
{
@@ -862,7 +851,7 @@ private void SplitBackfacing(TrItem[] TrItems, TrackNode[] TrackNodes)
862851
// revert existing signal to NULL if no heads remain
863852
if (singleSignal.SignalHeads.Count <= 0)
864853
{
865-
signalObjects[isignal] = null;
854+
SignalObjects[isignal] = null;
866855
}
867856
}
868857
}
@@ -873,7 +862,7 @@ private void SplitBackfacing(TrItem[] TrItems, TrackNode[] TrackNodes)
873862
newindex = foundSignals;
874863
foreach (SignalObject newSignal in newSignals)
875864
{
876-
signalObjects[newindex] = newSignal;
865+
SignalObjects[newindex] = newSignal;
877866
newindex++;
878867
}
879868

@@ -1019,15 +1008,15 @@ private int AddSignal(int trackNode, int nodeIndx, SignalItem sigItem, int TDBRe
10191008
{
10201009
validSignal = true;
10211010

1022-
signalObjects[foundSignals] = new SignalObject(ORTSSignalTypeCount);
1023-
signalObjects[foundSignals].isSignal = true;
1024-
signalObjects[foundSignals].isSpeedSignal = false;
1025-
signalObjects[foundSignals].direction = (int)sigItem.Direction;
1026-
signalObjects[foundSignals].trackNode = trackNode;
1027-
signalObjects[foundSignals].trRefIndex = nodeIndx;
1028-
signalObjects[foundSignals].AddHead(nodeIndx, TDBRef, sigItem);
1029-
signalObjects[foundSignals].thisRef = foundSignals;
1030-
signalObjects[foundSignals].signalRef = this;
1011+
SignalObjects[foundSignals] = new SignalObject(ORTSSignalTypeCount);
1012+
SignalObjects[foundSignals].isSignal = true;
1013+
SignalObjects[foundSignals].isSpeedSignal = false;
1014+
SignalObjects[foundSignals].direction = (int)sigItem.Direction;
1015+
SignalObjects[foundSignals].trackNode = trackNode;
1016+
SignalObjects[foundSignals].trRefIndex = nodeIndx;
1017+
SignalObjects[foundSignals].AddHead(nodeIndx, TDBRef, sigItem);
1018+
SignalObjects[foundSignals].thisRef = foundSignals;
1019+
SignalObjects[foundSignals].signalRef = this;
10311020

10321021
if (tdbfile.TrackDB.TrackNodes[trackNode] == null || tdbfile.TrackDB.TrackNodes[trackNode].TrVectorNode == null)
10331022
{
@@ -1036,13 +1025,13 @@ private int AddSignal(int trackNode, int nodeIndx, SignalItem sigItem, int TDBRe
10361025
}
10371026
else
10381027
{
1039-
signalObjects[foundSignals].tdbtraveller =
1028+
SignalObjects[foundSignals].tdbtraveller =
10401029
new Traveller(tsectiondat, tdbfile.TrackDB.TrackNodes, tdbfile.TrackDB.TrackNodes[trackNode],
10411030
sigItem.TileX, sigItem.TileZ, sigItem.X, sigItem.Z,
10421031
(Traveller.TravellerDirection)(1 - sigItem.Direction));
10431032
}
10441033

1045-
signalObjects[foundSignals].WorldObject = null;
1034+
SignalObjects[foundSignals].WorldObject = null;
10461035

10471036
if (SignalHeadList.ContainsKey((uint)TDBRef))
10481037
{
@@ -1052,11 +1041,11 @@ private int AddSignal(int trackNode, int nodeIndx, SignalItem sigItem, int TDBRe
10521041

10531042
if (!validSignal)
10541043
{
1055-
signalObjects[foundSignals] = null; // reset signal, do not increase signal count
1044+
SignalObjects[foundSignals] = null; // reset signal, do not increase signal count
10561045
}
10571046
else
10581047
{
1059-
SignalHeadList.Add((uint)TDBRef, signalObjects[foundSignals]);
1048+
SignalHeadList.Add((uint)TDBRef, SignalObjects[foundSignals]);
10601049
foundSignals++;
10611050
}
10621051

@@ -1068,43 +1057,43 @@ private int AddSignal(int trackNode, int nodeIndx, SignalItem sigItem, int TDBRe
10681057
/// </summary>
10691058
private int AddSpeed(int trackNode, int nodeIndx, SpeedPostItem speedItem, int TDBRef, TrackSectionsFile tsectiondat, TrackDatabaseFile tdbfile, int ORTSSignalTypeCount)
10701059
{
1071-
signalObjects[foundSignals] = new SignalObject(ORTSSignalTypeCount);
1072-
signalObjects[foundSignals].isSignal = false;
1073-
signalObjects[foundSignals].isSpeedSignal = false;
1074-
signalObjects[foundSignals].direction = 0; // preset - direction not yet known //
1075-
signalObjects[foundSignals].trackNode = trackNode;
1076-
signalObjects[foundSignals].trRefIndex = nodeIndx;
1077-
signalObjects[foundSignals].AddHead(nodeIndx, TDBRef, speedItem);
1078-
signalObjects[foundSignals].thisRef = foundSignals;
1079-
signalObjects[foundSignals].signalRef = this;
1080-
1081-
signalObjects[foundSignals].tdbtraveller =
1060+
SignalObjects[foundSignals] = new SignalObject(ORTSSignalTypeCount);
1061+
SignalObjects[foundSignals].isSignal = false;
1062+
SignalObjects[foundSignals].isSpeedSignal = false;
1063+
SignalObjects[foundSignals].direction = 0; // preset - direction not yet known //
1064+
SignalObjects[foundSignals].trackNode = trackNode;
1065+
SignalObjects[foundSignals].trRefIndex = nodeIndx;
1066+
SignalObjects[foundSignals].AddHead(nodeIndx, TDBRef, speedItem);
1067+
SignalObjects[foundSignals].thisRef = foundSignals;
1068+
SignalObjects[foundSignals].signalRef = this;
1069+
1070+
SignalObjects[foundSignals].tdbtraveller =
10821071
new Traveller(tsectiondat, tdbfile.TrackDB.TrackNodes, tdbfile.TrackDB.TrackNodes[trackNode],
10831072
speedItem.TileX, speedItem.TileZ, speedItem.X, speedItem.Z,
1084-
(Traveller.TravellerDirection)signalObjects[foundSignals].direction);
1073+
(Traveller.TravellerDirection)SignalObjects[foundSignals].direction);
10851074

1086-
double delta_angle = signalObjects[foundSignals].tdbtraveller.RotY - ((Math.PI / 2) - speedItem.Angle);
1075+
double delta_angle = SignalObjects[foundSignals].tdbtraveller.RotY - ((Math.PI / 2) - speedItem.Angle);
10871076
float delta_float = MathHelper.WrapAngle((float)delta_angle);
10881077
if (Math.Abs(delta_float) < (Math.PI / 2))
10891078
{
1090-
signalObjects[foundSignals].direction = signalObjects[foundSignals].tdbtraveller.Direction == 0 ? 1 : 0;
1079+
SignalObjects[foundSignals].direction = SignalObjects[foundSignals].tdbtraveller.Direction == 0 ? 1 : 0;
10911080
}
10921081
else
10931082
{
1094-
signalObjects[foundSignals].direction = (int)signalObjects[foundSignals].tdbtraveller.Direction;
1095-
signalObjects[foundSignals].tdbtraveller.ReverseDirection();
1083+
SignalObjects[foundSignals].direction = (int)SignalObjects[foundSignals].tdbtraveller.Direction;
1084+
SignalObjects[foundSignals].tdbtraveller.ReverseDirection();
10961085
}
10971086

10981087
#if DEBUG_PRINT
10991088
File.AppendAllText(@"C:\temp\speedpost.txt",
11001089
string.Format("\nPlaced : at : {0} {1}:{2} {3}; angle - track : {4}:{5}; delta : {6}; dir : {7}\n",
11011090
speedItem.TileX, speedItem.TileZ, speedItem.X, speedItem.Z,
1102-
speedItem.Angle, signalObjects[foundSignals].tdbtraveller.RotY,
1091+
speedItem.Angle, SignalObjects[foundSignals].tdbtraveller.RotY,
11031092
delta_angle,
1104-
signalObjects[foundSignals].direction));
1093+
SignalObjects[foundSignals].direction));
11051094
#endif
11061095

1107-
signalObjects[foundSignals].WorldObject = null;
1096+
SignalObjects[foundSignals].WorldObject = null;
11081097
foundSignals++;
11091098
return foundSignals - 1;
11101099
}
@@ -1134,7 +1123,7 @@ private int AddMilepost(int trackNode, int nodeIndx, SpeedPostItem speedItem, in
11341123
/// </summary>
11351124
private void AddCFG(SignalConfigurationFile sigCFG)
11361125
{
1137-
foreach (SignalObject signal in signalObjects)
1126+
foreach (SignalObject signal in SignalObjects)
11381127
{
11391128
if (signal != null)
11401129
{
@@ -1152,7 +1141,7 @@ private void AddCFG(SignalConfigurationFile sigCFG)
11521141
private void AddWorldInfo()
11531142
{
11541143
// loop through all signal and all heads
1155-
foreach (SignalObject signal in signalObjects)
1144+
foreach (SignalObject signal in SignalObjects)
11561145
{
11571146
if (signal != null)
11581147
{
@@ -1196,7 +1185,7 @@ private void AddWorldInfo()
11961185
/// </summary>
11971186
public KeyValuePair<SignalObject, SignalHead>? FindByTrItem(uint trItem)
11981187
{
1199-
foreach (var signal in signalObjects)
1188+
foreach (var signal in SignalObjects)
12001189
if (signal != null)
12011190
foreach (var head in signal.SignalHeads)
12021191
if (SignalObject.trackNodes[signal.trackNode].TrVectorNode.TrItemRefs[head.trItemIndex] == (int)trItem)
@@ -1209,7 +1198,7 @@ private void AddWorldInfo()
12091198
/// </summary>
12101199
public void SetNumSignalHeads()
12111200
{
1212-
foreach (SignalObject thisSignal in signalObjects)
1201+
foreach (SignalObject thisSignal in SignalObjects)
12131202
{
12141203
if (thisSignal != null)
12151204
{
@@ -1696,9 +1685,9 @@ private void CreateTrackCircuits(TrItem[] TrItems, TrackNode[] trackNodes, TSect
16961685

16971686
// Set default next signal and fixed route information
16981687

1699-
for (int iSignal = 0; signalObjects != null && iSignal < signalObjects.Length; iSignal++)
1688+
for (int iSignal = 0; SignalObjects != null && iSignal < SignalObjects.Length; iSignal++)
17001689
{
1701-
SignalObject thisSignal = signalObjects[iSignal];
1690+
SignalObject thisSignal = SignalObjects[iSignal];
17021691
if (thisSignal != null)
17031692
{
17041693
thisSignal.setSignalDefaultNextSignal();

0 commit comments

Comments
 (0)