import * as THREE from 'three';

	// kicker
	export function kicker(length=300) {
		const kickerMaster = new THREE.Object3D();

		const d1geometry = new THREE.BoxGeometry(710, 500, 500);
		const dmaterial = new THREE.MeshLambertMaterial({color: 0x405040});
		const d1mesh = new THREE.Mesh(d1geometry, dmaterial);
		d1mesh.position.set(0, -20, 330);
		kickerMaster.add(d1mesh);				

		//add quad2
		const d2geometry = new THREE.BoxGeometry(710, 270, 300);
		const dmaterial2= new THREE.MeshLambertMaterial({color: 0x405040});
		const d2mesh = new THREE.Mesh(d2geometry, dmaterial2);
		d2mesh.position.set(0, -135, 80);
		kickerMaster.add(d2mesh);

		//add sest
		const d3geometry = new THREE.CylinderGeometry(300, 300, 700, 6);
		const dmateria3 = new THREE.MeshLambertMaterial({color: 0xffff00});
		const textureLoader = new THREE.TextureLoader();
		const texture = textureLoader.load('./components/kicker_texture.png');
		texture.wrapS = texture.wrapT = THREE.RepeatWrapping;
		texture.repeat.set(5, 40);
		const material = new THREE.MeshBasicMaterial({ map: texture });
		const d3mesh = new THREE.Mesh(d3geometry, material);
		d3mesh.rotateX(Math.PI * 1);
		d3mesh.rotateY(Math.PI * 1);
		d3mesh.rotateZ(Math.PI * 1.5);
		d3mesh.position.set(0, 0 , 230);
		kickerMaster.add(d3mesh);				

		//capsule
		const geometry = new THREE.CapsuleGeometry( 50, 50, 40, 80 ); 
		const material_cap = new THREE.MeshBasicMaterial( {color: 0xff0000} ); 
		const d4mesh = new THREE.Mesh( geometry, material_cap ); 
		d4mesh.position.set(0, 240 , 480);
		kickerMaster.add(d4mesh);

		kickerMaster.rotateY(Math.PI * 0.5);
		return kickerMaster;
	}