private static int swIndex(AutoTile.Direction value) { //needed checks -> sw | s | w var toTest = AutoTile.Direction.None; if ((value & AutoTile.Direction.SouthWest) != 0) { toTest |= AutoTile.Direction.SouthWest; } if ((value & AutoTile.Direction.South) != 0) { toTest |= AutoTile.Direction.South; } if ((value & AutoTile.Direction.West) != 0) { toTest |= AutoTile.Direction.West; } switch (toTest) { case AutoTile.Direction.SouthWest | AutoTile.Direction.South | AutoTile.Direction.West: return(10); case AutoTile.Direction.SouthWest | AutoTile.Direction.West: case AutoTile.Direction.West: return(18); case AutoTile.Direction.SouthWest | AutoTile.Direction.South: case AutoTile.Direction.South: return(8); case AutoTile.Direction.West | AutoTile.Direction.South: return(2); } return(16); }
private static int neIndex(AutoTile.Direction value) { //needed checks -> ne | n | e var toTest = AutoTile.Direction.None; if ((value & AutoTile.Direction.NorthEast) != 0) { toTest |= AutoTile.Direction.NorthEast; } if ((value & AutoTile.Direction.North) != 0) { toTest |= AutoTile.Direction.North; } if ((value & AutoTile.Direction.East) != 0) { toTest |= AutoTile.Direction.East; } switch (toTest) { case AutoTile.Direction.NorthEast | AutoTile.Direction.North | AutoTile.Direction.East: return(13); case AutoTile.Direction.NorthEast | AutoTile.Direction.East: case AutoTile.Direction.East: return(5); case AutoTile.Direction.NorthEast | AutoTile.Direction.North: case AutoTile.Direction.North: return(15); case AutoTile.Direction.East | AutoTile.Direction.North: return(1); } return(7); }
private static int nwIndex(AutoTile.Direction value) { //needed checks -> nw | n | w var toTest = AutoTile.Direction.None; if ((value & AutoTile.Direction.NorthWest) != 0) { toTest |= AutoTile.Direction.NorthWest; } if ((value & AutoTile.Direction.North) != 0) { toTest |= AutoTile.Direction.North; } if ((value & AutoTile.Direction.West) != 0) { toTest |= AutoTile.Direction.West; } switch (toTest) { case AutoTile.Direction.NorthWest | AutoTile.Direction.North | AutoTile.Direction.West: return(14); case AutoTile.Direction.NorthWest | AutoTile.Direction.West: case AutoTile.Direction.West: return(6); case AutoTile.Direction.NorthWest | AutoTile.Direction.North: case AutoTile.Direction.North: return(12); case AutoTile.Direction.West | AutoTile.Direction.North: return(0); } return(4); }
private static int seIndex(AutoTile.Direction value) { //needed checks -> se | s | e var toTest = AutoTile.Direction.None; if ((value & AutoTile.Direction.SouthEast) != 0) { toTest |= AutoTile.Direction.SouthEast; } if ((value & AutoTile.Direction.South) != 0) { toTest |= AutoTile.Direction.South; } if ((value & AutoTile.Direction.East) != 0) { toTest |= AutoTile.Direction.East; } switch (toTest) { case AutoTile.Direction.SouthEast | AutoTile.Direction.South | AutoTile.Direction.East: return(9); case AutoTile.Direction.SouthEast | AutoTile.Direction.East: case AutoTile.Direction.East: return(17); case AutoTile.Direction.SouthEast | AutoTile.Direction.South: case AutoTile.Direction.South: return(11); case AutoTile.Direction.East | AutoTile.Direction.South: return(3); } return(19); }