/// <summary> /// Parse a BitWise value into the electrification flags /// </summary> /// <returns></returns> private void ParseBitWise(ElectrificationBitValue BitWise) { this.Diesel = (BitWise & ElectrificationBitValue.Diesel) == ElectrificationBitValue.Diesel; this.Overhead = (BitWise & ElectrificationBitValue.Overhead) == ElectrificationBitValue.Overhead; this.ThirdRail = (BitWise & ElectrificationBitValue.ThirdRail) == ElectrificationBitValue.ThirdRail; this.FourthRail = (BitWise & ElectrificationBitValue.FourthRail) == ElectrificationBitValue.FourthRail; this.OverheadDC = (BitWise & ElectrificationBitValue.OverheadDC) == ElectrificationBitValue.OverheadDC; this.Tramway = (BitWise & ElectrificationBitValue.Tramway) == ElectrificationBitValue.Tramway; this.Sim1 = (BitWise & ElectrificationBitValue.Sim1) == ElectrificationBitValue.Sim1; this.Sim2 = (BitWise & ElectrificationBitValue.Sim2) == ElectrificationBitValue.Sim2; this.Sim3 = (BitWise & ElectrificationBitValue.Sim3) == ElectrificationBitValue.Sim3; this.Sim4 = (BitWise & ElectrificationBitValue.Sim4) == ElectrificationBitValue.Sim4; }
/// <summary> /// Calculutes the bit wise value fro the selected electrification options /// </summary> /// <returns></returns> private ElectrificationBitValue GetBitWise() { ElectrificationBitValue ReturnValue = ElectrificationBitValue.Unknown; if (this.Diesel) { ReturnValue += (int)ElectrificationBitValue.Diesel; } if (this.Overhead) { ReturnValue += (int)ElectrificationBitValue.Overhead; } if (this.ThirdRail) { ReturnValue += (int)ElectrificationBitValue.ThirdRail; } if (this.FourthRail) { ReturnValue += (int)ElectrificationBitValue.FourthRail; } if (this.OverheadDC) { ReturnValue += (int)ElectrificationBitValue.OverheadDC; } if (this.Tramway) { ReturnValue += (int)ElectrificationBitValue.Tramway; } if (this.Sim1) { ReturnValue += (int)ElectrificationBitValue.Sim1; } if (this.Sim2) { ReturnValue += (int)ElectrificationBitValue.Sim2; } if (this.Sim3) { ReturnValue += (int)ElectrificationBitValue.Sim3; } if (this.Sim4) { ReturnValue += (int)ElectrificationBitValue.Sim4; } return(ReturnValue); }
/// <summary> /// Instantiates an Electrification object from the supplied BitWise value /// </summary> /// <param name="BitWise"></param> public Electrification(ElectrificationBitValue BitWise) { this.ParseBitWise(BitWise); }