public static Vector2Int NewMapPosition(Vector2Int oldPos, DIRECTION dir) { if (dir == DIRECTION.NORTH) { return(oldPos + new Vector2Int(0, 1)); } else if (dir == DIRECTION.EAST) { return(oldPos + new Vector2Int(1, 0)); } else if (dir == DIRECTION.SOUTH) { return(oldPos + new Vector2Int(0, -1)); } else { return(oldPos + new Vector2Int(-1, 0)); } }
public static DIRECTION Opposite(this DIRECTION dir) { if (dir == DIRECTION.NORTH) { return(DIRECTION.SOUTH); } else if (dir == DIRECTION.EAST) { return(DIRECTION.WEST); } else if (dir == DIRECTION.SOUTH) { return(DIRECTION.NORTH); } else { return(DIRECTION.EAST); } }
public static CELL_PLACEMENT AttachedCell(this CELL_PLACEMENT placement, DIRECTION attachDirection) { if (attachDirection == DIRECTION.NORTH || attachDirection == DIRECTION.SOUTH) { if (placement == CELL_PLACEMENT.TOPLEFT) { return(CELL_PLACEMENT.BOTLEFT); } else if (placement == CELL_PLACEMENT.BOTLEFT) { return(CELL_PLACEMENT.TOPLEFT); } else if (placement == CELL_PLACEMENT.TOPRIGHT) { return(CELL_PLACEMENT.BOTRIGHT); } else { return(CELL_PLACEMENT.TOPRIGHT); } } else { if (placement == CELL_PLACEMENT.TOPLEFT) { return(CELL_PLACEMENT.TOPRIGHT); } else if (placement == CELL_PLACEMENT.BOTLEFT) { return(CELL_PLACEMENT.BOTRIGHT); } else if (placement == CELL_PLACEMENT.TOPRIGHT) { return(CELL_PLACEMENT.TOPLEFT); } else { return(CELL_PLACEMENT.BOTLEFT); } } }
public static CELL_PLACEMENT RandomInnerCellPlacement(DIRECTION dir) { if (dir == DIRECTION.WEST) { CELL_PLACEMENT[] placements = { CELL_PLACEMENT.TOPRIGHT, CELL_PLACEMENT.BOTRIGHT }; return(placements.Random()); } else if (dir == DIRECTION.SOUTH) { CELL_PLACEMENT[] placements = { CELL_PLACEMENT.TOPLEFT, CELL_PLACEMENT.TOPRIGHT }; return(placements.Random()); } else if (dir == DIRECTION.EAST) { CELL_PLACEMENT[] placements = { CELL_PLACEMENT.TOPLEFT, CELL_PLACEMENT.BOTLEFT }; return(placements.Random()); } else { CELL_PLACEMENT[] placements = { CELL_PLACEMENT.BOTLEFT, CELL_PLACEMENT.BOTRIGHT }; return(placements.Random()); } }