/// <summary> /// Initializes a new Instance of BahnEditor.BahnLib.DrivingWayElement class /// </summary> /// <param name="drivingWay">Type of driving way</param> /// <param name="function">Additional functions of the driving way</param> /// <param name="arrival">Incoming direction of the driving way</param> /// <param name="departure">Outgoing direction of the driving way</param> public DrivingWayElement(DrivingWay drivingWay, DrivingWayFunction function, Direction arrival, Direction departure) { this.DrivingWay = drivingWay; this.Function = function; this.Arrival = arrival; this.Departure = departure; }
/// <summary> /// Gets a driving way from bytes (used to load from file) /// </summary> /// <param name="data">Data from file</param> /// <returns>Driving way element</returns> internal static DrivingWayElement FromBytes(byte[] data) { byte drivingWayByte = data[0]; byte drivingWayFunctionByte = data[4]; byte arrivalByte = (byte)(data[8] & 0xF); byte departureByte = (byte)((data[8] & 0xF0) >> 4); DrivingWay drivingWay = (DrivingWay)drivingWayByte; DrivingWayFunction function = (DrivingWayFunction)drivingWayFunctionByte; Direction arrival = (Direction)arrivalByte; Direction departure = (Direction)departureByte; return(new DrivingWayElement(drivingWay, function, arrival, departure)); }