Ejemplo n.º 1
0
 public CompassConnection RotateToPiece(PieceOrientation PieceOrientation)
 {
     return(new CompassConnection
     {
         A = (CompassOrientation)(((int)A + ((int)PieceOrientation * 2)) % 8),
         B = (CompassOrientation)(((int)B + ((int)PieceOrientation * 2)) % 8)
     });
 }
Ejemplo n.º 2
0
        public static PieceOrientation Relative(PieceOrientation Base, PieceOrientation Top)
        {
            int c = 0;

            while (Base != Top)
            {
                Base = Rotate(Base, 1);
                c   += 1;
            }

            return((PieceOrientation)c);
        }
Ejemplo n.º 3
0
        public JunctionPattern Rotate(PieceOrientation Orientation)
        {
            var orient = (byte)Orientation;
            var r      = this;

            while (orient > 0)
            {
                r       = r.Rotate();
                orient -= 1;
            }
            return(r);
        }
Ejemplo n.º 4
0
 public static CombinationTable.Combination FindRailCombination(String Base, String Overlay, PieceOrientation OverlayRelativeOrientation)
 {
     return(RailCombinationTable.FindCombination(Base, Overlay, OverlayRelativeOrientation));
 }
Ejemplo n.º 5
0
 public Combination FindCombination(String Base, String Overlay, PieceOrientation OverlayRelativeOrientation)
 {
     return(Combinations.FirstOrDefault(c => c.BasePiece == Base && c.OverlayPiece == Overlay && c.OverlayRelativeOrientation == OverlayRelativeOrientation));
 }
Ejemplo n.º 6
0
 public static PieceOrientation Rotate(PieceOrientation In, int Ammount)
 {
     return((PieceOrientation)(((int)In + Ammount) % 4));
 }
Ejemplo n.º 7
0
 public static PieceOrientation Opposite(PieceOrientation In)
 {
     return(Rotate(In, 2));
 }