Пример #1
0
	def _create_building(self, orientation):
		WELL_OUTER = (Vec3(0,0,0), Vec3(-5,0,-5))
		WELL_CORE = (Vec3(-1,0,-1), Vec3(-4,0,-4))
		WELL_INNER = (Vec3(-2,0,-2), Vec3(-3,0,-3))
		WELL_WIDTH = 6

		WELL_BASE = []
		WELL_BASE.append(BuildingBlock(WELL_CORE[0], block.COBBLESTONE, WELL_CORE[1]))

		WELL_WATER = []
		WELL_WATER.append(BuildingBlock(WELL_CORE[0], block.COBBLESTONE, WELL_CORE[1]))
		WELL_WATER.append(BuildingBlock(WELL_INNER[0], block.WATER, WELL_INNER[1]))

		WELL_GROUND = []
		WELL_GROUND.append(BuildingBlock(WELL_OUTER[0], block.GRAVEL, WELL_OUTER[1]))
		WELL_GROUND.append(BuildingBlock(WELL_CORE[0], block.COBBLESTONE, WELL_CORE[1]))
		WELL_GROUND.append(BuildingBlock(WELL_INNER[0], block.WATER, WELL_INNER[1]))

		WELL_WALLS = []
		WELL_WALLS.append(BuildingBlock(WELL_CORE[0], block.COBBLESTONE, WELL_CORE[1]))
		WELL_WALLS.append(BuildingBlock(WELL_INNER[0], block.AIR, WELL_INNER[1]))

		WELL_SUPPORT = []
		WELL_SUPPORT.append(BuildingBlock(Vec3(-1,0,-1), block.FENCE))
		WELL_SUPPORT.append(BuildingBlock(Vec3(-1,0,-4), block.FENCE))
		WELL_SUPPORT.append(BuildingBlock(Vec3(-4,0,-4), block.FENCE))
		WELL_SUPPORT.append(BuildingBlock(Vec3(-4,0,-1), block.FENCE))
		
		bl = Building(orientation, WELL_WIDTH)
		bl.layers.append(BuildingLayer(WELL_BASE, -3))
		bl.layers.append(BuildingLayer(WELL_WATER, -2))
		bl.layers.append(BuildingLayer(WELL_GROUND, -1))
		bl.layers.append(BuildingLayer(WELL_WALLS, 0))
		bl.layers.append(BuildingLayer(WELL_SUPPORT, 1))
		bl.layers.append(BuildingLayer(WELL_SUPPORT, 2))
		bl.layers.append(BuildingLayer(WELL_BASE, 3))
		
		# set_direction needs to be called after adding layers to building
		bl._set_orientation()

		# rotate offset for test:
		if orientation == Building.EAST:
			self.default_offset.rotateRight()
		elif orientation == Building.SOUTH:
			self.default_offset.rotateRight()
			self.default_offset.rotateRight()
		elif orientation == Building.WEST:
			self.default_offset.rotateLeft()

		return bl