protected AbstractTrackBlock(int x, int y, SequenceTrainEngine engine,
                              int rotationOffset) : base(engine)
 {
     this.x = x;
     this.y = y;
     this.rotationOffset = unchecked ((uint)rotationOffset);
     edges = new LazyInit <TrackEnds[]>(getTrackEdgeTypes);
 }
Пример #2
0
 protected AbstractLogicEngineItem(SequenceTrainEngine engine)
 {
     if (engine == null)
     {
         throw new ArgumentNullException("engine");
     }
     Parent = engine;
 }
Пример #3
0
 internal Train(SequenceTrainEngine parent) : base(parent)
 {
     PublicCarList = carList.AsReadOnly();
     locomotive    = new Locomotive(this);
     caboose       = new Caboose(this);
     //the locomotive is always the first thing in the list
     carList.Add(locomotive);
 }
 public CurvedTrackBlock(int x, int y, int rotationOffset,
                         SequenceTrainEngine parent) : base(x, y, parent, rotationOffset)
 {
 }
 public DoubleCurvedTrackBlock(int x, int y, int rotationOffset,
                               SequenceTrainEngine parent) : base(x, y, parent, rotationOffset)
 {
     a = new DoubleCurvedChild(this, rotationOffset);
     b = new DoubleCurvedChild(this, rotationOffset + 2);
 }