839 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			839 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using UnityEngine; | |||
|  | using System.Collections; | |||
|  | 
 | |||
|  | namespace CraftingAnims{ | |||
|  | 	 | |||
|  | 	public class CrafterController : MonoBehaviour{ | |||
|  | 		 | |||
|  | 		public enum CharacterState{ | |||
|  | 			Idle, | |||
|  | 			Item, | |||
|  | 			Box, | |||
|  | 			Fishing, | |||
|  | 			Hammer, | |||
|  | 			Digging, | |||
|  | 			Chopping, | |||
|  | 			Food, | |||
|  | 			Drink, | |||
|  | 			Axe, | |||
|  | 			Shovel, | |||
|  | 			FishingPole, | |||
|  | 			Saw, | |||
|  | 			Sawing, | |||
|  | 			PickAxe, | |||
|  | 			PickAxing, | |||
|  | 			Sickle, | |||
|  | 			Rake, | |||
|  | 			Spear, | |||
|  | 			Raking, | |||
|  | 			Sit, | |||
|  | 			Laydown, | |||
|  | 			Climb, | |||
|  | 			PushPull, | |||
|  | 			Lumber, | |||
|  | 			Overhead, | |||
|  | 			Pray, | |||
|  | 			Cart, | |||
|  | 			Kneel, | |||
|  | 			Painting, | |||
|  | 			Use, | |||
|  | 			Crawl | |||
|  | 		}; | |||
|  | 		 | |||
|  | 		//Components. | |||
|  | 		[HideInInspector] | |||
|  | 		public Animator animator; | |||
|  | 		[HideInInspector] | |||
|  | 		public Rigidbody rb; | |||
|  | 		[HideInInspector] | |||
|  | 		public UnityEngine.AI.NavMeshAgent navMeshAgent; | |||
|  | 		 | |||
|  | 		//Objects. | |||
|  | 		private GameObject axe; | |||
|  | 		private GameObject hammer; | |||
|  | 		private GameObject fishingpole; | |||
|  | 		private GameObject shovel; | |||
|  | 		private GameObject box; | |||
|  | 		private GameObject food; | |||
|  | 		private GameObject drink; | |||
|  | 		private GameObject saw; | |||
|  | 		private GameObject pickaxe; | |||
|  | 		private GameObject sickle; | |||
|  | 		private GameObject rake; | |||
|  | 		private GameObject chair; | |||
|  | 		private GameObject ladder; | |||
|  | 		private GameObject lumber; | |||
|  | 		private GameObject pushpull; | |||
|  | 		private GameObject sphere; | |||
|  | 		private GameObject cart; | |||
|  | 		private GameObject paintbrush; | |||
|  | 		private GameObject spear; | |||
|  | 		 | |||
|  | 		//Actions. | |||
|  | 		public Transform target; | |||
|  | 		float rotationSpeed = 10f; | |||
|  | 		public float runSpeed = 8f; | |||
|  | 		public float walkSpeed = 4f; | |||
|  | 		public float spearfishingSpeed = 1.25f; | |||
|  | 		public float crawlSpeed = 1f; | |||
|  | 		Vector3 inputVec; | |||
|  | 		Vector3 newVelocity; | |||
|  | 		[HideInInspector] | |||
|  | 		public bool isMoving; | |||
|  | 		[HideInInspector] | |||
|  | 		public bool isPaused; | |||
|  | 		public bool useMeshNav; | |||
|  | 		bool isAiming; | |||
|  | 		bool isRunning; | |||
|  | 		bool inputAiming; | |||
|  | 		float pushpullTime = 0f; | |||
|  | 		[HideInInspector] | |||
|  | 		public bool isGrounded; | |||
|  | 		[HideInInspector] | |||
|  | 		public bool isSpearfishing; | |||
|  | 		 | |||
|  | 		//Inputs. | |||
|  | 		float inputHorizontal = 0f; | |||
|  | 		float inputVertical = 0f; | |||
|  | 		float inputHorizontal2 = 0f; | |||
|  | 		float inputVertical2 = 0f; | |||
|  | 		bool inputRun; | |||
|  | 		 | |||
|  | 		public CharacterState charState; | |||
|  | 		 | |||
|  | 		void Awake(){ | |||
|  | 			animator = this.GetComponent<Animator>(); | |||
|  | 			axe = GameObject.Find("Axe"); | |||
|  | 			hammer = GameObject.Find("Hammer"); | |||
|  | 			fishingpole = GameObject.Find("FishingPole"); | |||
|  | 			shovel = GameObject.Find("Shovel"); | |||
|  | 			box = GameObject.Find("Carry"); | |||
|  | 			food = GameObject.Find("Food"); | |||
|  | 			drink = GameObject.Find("Drink"); | |||
|  | 			saw = GameObject.Find("Saw"); | |||
|  | 			pickaxe = GameObject.Find("PickAxe"); | |||
|  | 			sickle = GameObject.Find("Sickle"); | |||
|  | 			rake = GameObject.Find("Rake"); | |||
|  | 			chair = GameObject.Find("Chair"); | |||
|  | 			ladder = GameObject.Find("Ladder"); | |||
|  | 			lumber = GameObject.Find("Lumber"); | |||
|  | 			pushpull = GameObject.Find("PushPull"); | |||
|  | 			sphere = GameObject.Find("Sphere"); | |||
|  | 			cart = GameObject.Find("Cart"); | |||
|  | 			paintbrush = GameObject.Find("Paintbrush"); | |||
|  | 			spear = GameObject.Find("Spear"); | |||
|  | 			rb = GetComponent<Rigidbody>(); | |||
|  | 		} | |||
|  | 		 | |||
|  | 		void Start(){ | |||
|  | 			StartCoroutine(_ShowItem("none", 0f)); | |||
|  | 			charState = CharacterState.Idle; | |||
|  | 		} | |||
|  | 		 | |||
|  | 		//Input abstraction for easier asset updates using outside control schemes. | |||
|  | 		void Inputs(){ | |||
|  | 			inputHorizontal = Input.GetAxisRaw("Horizontal"); | |||
|  | 			inputVertical = -(Input.GetAxisRaw("Vertical")); | |||
|  | 			inputHorizontal2 = Input.GetAxisRaw("Horizontal2"); | |||
|  | 			inputVertical2 = -(Input.GetAxisRaw("Vertical2")); | |||
|  | 			inputAiming = Input.GetButtonDown("Aiming"); | |||
|  | 			inputRun = Input.GetButton("Fire3"); | |||
|  | 		} | |||
|  | 		 | |||
|  | 		void Update(){ | |||
|  | 			Inputs(); | |||
|  | 			if(charState != CharacterState.PushPull){ | |||
|  | 				CameraRelativeInput(); | |||
|  | 			}  | |||
|  | 			else{ | |||
|  | 				PushPull(); | |||
|  | 			} | |||
|  | 			if(Input.GetKey(KeyCode.R)){ | |||
|  | 				this.gameObject.transform.position = new Vector3(0,0,0); | |||
|  | 			} | |||
|  | 			//Aiming switch. | |||
|  | 			if(inputAiming){ | |||
|  | 				if(!isAiming){ | |||
|  | 					isAiming = true; | |||
|  | 				} | |||
|  | 				else{ | |||
|  | 					isAiming = false; | |||
|  | 				} | |||
|  | 			} | |||
|  | 			//Slow time. | |||
|  | 			if(Input.GetKeyDown(KeyCode.T)){ | |||
|  | 				if(Time.timeScale != 1){ | |||
|  | 					Time.timeScale = 1; | |||
|  | 				} | |||
|  | 				else{ | |||
|  | 					Time.timeScale = 0.15f; | |||
|  | 				} | |||
|  | 			} | |||
|  | 			//Pause. | |||
|  | 			if(Input.GetKeyDown(KeyCode.P)){ | |||
|  | 				if(Time.timeScale != 1){ | |||
|  | 					Time.timeScale = 1; | |||
|  | 				} | |||
|  | 				else{ | |||
|  | 					Time.timeScale = 0f; | |||
|  | 				} | |||
|  | 			} | |||
|  | 		} | |||
|  | 		 | |||
|  | 		void FixedUpdate(){ | |||
|  | 			CheckForGrounded(); | |||
|  | 			if(!isPaused){ | |||
|  | 				if(charState == CharacterState.Climb || charState == CharacterState.PushPull || charState == CharacterState.Laydown || charState == CharacterState.Use){ | |||
|  | 					animator.applyRootMotion = true; | |||
|  | 					isMoving = false; | |||
|  | 					rb.useGravity = false; | |||
|  | 				}  | |||
|  | 				else{ | |||
|  | 					animator.applyRootMotion = false; | |||
|  | 					rb.useGravity = true; | |||
|  | 				} | |||
|  | 			} | |||
|  | 		} | |||
|  | 		 | |||
|  | 		void LateUpdate(){ | |||
|  | 			//Get local velocity of charcter and update animator with values. | |||
|  | 			float velocityXel = transform.InverseTransformDirection(rb.velocity).x; | |||
|  | 			float velocityZel = transform.InverseTransformDirection(rb.velocity).z; | |||
|  | 			if(charState != CharacterState.PushPull){ | |||
|  | 				animator.SetFloat("VelocityX", velocityXel / runSpeed); | |||
|  | 				animator.SetFloat("VelocityY", velocityZel / runSpeed); | |||
|  | 			} | |||
|  | 			//Running. | |||
|  | 			if(inputRun){ | |||
|  | 				//Don't run with Box, Cart, Lumber, etc. | |||
|  | 				if(charState != CharacterState.Box && charState != CharacterState.Cart && charState != CharacterState.Overhead && charState != CharacterState.PushPull && charState != CharacterState.Lumber && charState != CharacterState.Use){ | |||
|  | 					animator.SetBool("Running", true); | |||
|  | 					isRunning = true; | |||
|  | 					isAiming = false; | |||
|  | 				} | |||
|  | 			} | |||
|  | 			else{ | |||
|  | 				animator.SetBool("Running", false); | |||
|  | 				isRunning = false; | |||
|  | 			} | |||
|  | 			//If using Navmesh nagivation, update values. | |||
|  | 			if(useMeshNav){ | |||
|  | 				if(navMeshAgent.velocity.sqrMagnitude > 0){ | |||
|  | 					animator.SetBool("Moving", true); | |||
|  | 					animator.SetFloat("VelocityY", navMeshAgent.velocity.magnitude); | |||
|  | 				} | |||
|  | 			} | |||
|  | 			//Crafter is moving. | |||
|  | 			if(UpdateMovement() > 0){ | |||
|  | 				isMoving = true; | |||
|  | 				animator.SetBool("Moving", true); | |||
|  | 			} | |||
|  | 			else{ | |||
|  | 				isMoving = false; | |||
|  | 				animator.SetBool("Moving", false); | |||
|  | 			} | |||
|  | 		} | |||
|  | 		 | |||
|  | 		//Moves the character. | |||
|  | 		float UpdateMovement(){ | |||
|  | 			Vector3 motion = inputVec; | |||
|  | 			//reduce input for diagonal movement. | |||
|  | 			if(motion.magnitude > 1){ | |||
|  | 				motion.Normalize(); | |||
|  | 			} | |||
|  | 			if(!isPaused && !useMeshNav && charState != CharacterState.PushPull && charState != CharacterState.Laydown && charState != CharacterState.Crawl){ | |||
|  | 				//set speed by walking / running. | |||
|  | 				if(isRunning){ | |||
|  | 					newVelocity = motion * runSpeed; | |||
|  | 				}  | |||
|  | 				else if(isSpearfishing){ | |||
|  | 					newVelocity = motion * spearfishingSpeed; | |||
|  | 				} | |||
|  | 				else{ | |||
|  | 					newVelocity = motion * walkSpeed; | |||
|  | 				} | |||
|  | 			}  | |||
|  | 			else if(charState == CharacterState.Crawl){ | |||
|  | 				newVelocity = motion * crawlSpeed; | |||
|  | 			} | |||
|  | 			if(isAiming){ | |||
|  | 				//make character point at target. | |||
|  | 				Quaternion targetRotation; | |||
|  | 				Vector3 targetPos = target.transform.position; | |||
|  | 				targetRotation = Quaternion.LookRotation(targetPos - new Vector3(transform.position.x, 0, transform.position.z)); | |||
|  | 				transform.eulerAngles = Vector3.up * Mathf.MoveTowardsAngle(transform.eulerAngles.y, targetRotation.eulerAngles.y, (rotationSpeed * Time.deltaTime) * rotationSpeed * 10f); | |||
|  | 			} | |||
|  | 			else{ | |||
|  | 				if(!isPaused && charState != CharacterState.PushPull && charState != CharacterState.Laydown && charState != CharacterState.Use){ | |||
|  | 					RotateTowardsMovementDir(); | |||
|  | 				} | |||
|  | 			} | |||
|  | 			//if character is falling use momentum. | |||
|  | 			newVelocity.y = rb.velocity.y; | |||
|  | 			rb.velocity = newVelocity; | |||
|  | 			//return a movement value for the animator. | |||
|  | 			return inputVec.magnitude; | |||
|  | 		} | |||
|  | 		 | |||
|  | 		//checks if character is within a certain distance from the ground, and markes it IsGrounded. | |||
|  | 		void CheckForGrounded(){ | |||
|  | 			float distanceToGround; | |||
|  | 			float threshold = .45f; | |||
|  | 			RaycastHit hit; | |||
|  | 			Vector3 offset = new Vector3(0, 0.4f, 0); | |||
|  | 			if(Physics.Raycast((transform.position + offset), -Vector3.up, out hit, 100f)){ | |||
|  | 				distanceToGround = hit.distance; | |||
|  | 				if(distanceToGround < threshold){ | |||
|  | 					isGrounded = true; | |||
|  | 				} | |||
|  | 				else{ | |||
|  | 					isGrounded = false; | |||
|  | 				} | |||
|  | 			} | |||
|  | 		} | |||
|  | 		 | |||
|  | 		//face character along input direction. | |||
|  | 		void RotateTowardsMovementDir(){ | |||
|  | 			if(inputVec != Vector3.zero){ | |||
|  | 				transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(inputVec), Time.deltaTime * rotationSpeed); | |||
|  | 			} | |||
|  | 		} | |||
|  | 		 | |||
|  | 		//All movement is based off camera facing. | |||
|  | 		void CameraRelativeInput(){ | |||
|  | 			//Camera relative movement | |||
|  | 			Transform cameraTransform = Camera.main.transform; | |||
|  | 			//Forward vector relative to the camera along the x-z plane. | |||
|  | 			Vector3 forward = cameraTransform.TransformDirection(Vector3.forward); | |||
|  | 			forward.y = 0; | |||
|  | 			forward = forward.normalized; | |||
|  | 			//Right vector relative to the camera always orthogonal to the forward vector. | |||
|  | 			Vector3 right = new Vector3(forward.z, 0, -forward.x); | |||
|  | 			//directional inputs. | |||
|  | 			inputVec = inputHorizontal * right + -inputVertical * forward; | |||
|  | 		} | |||
|  | 		 | |||
|  | 		void PushPull(){ | |||
|  | 			if(inputHorizontal == 0 && inputVertical == 0){ | |||
|  | 				pushpullTime = 0; | |||
|  | 			} | |||
|  | 			if(inputHorizontal != 0){ | |||
|  | 				inputVertical = 0; | |||
|  | 			} | |||
|  | 			if(inputVertical != 0){ | |||
|  | 				inputHorizontal = 0; | |||
|  | 			} | |||
|  | 			pushpullTime += 0.5f * Time.deltaTime; | |||
|  | 			float h = Mathf.Lerp(0, inputHorizontal, pushpullTime); | |||
|  | 			float v = Mathf.Lerp(0, inputVertical, pushpullTime); | |||
|  | 			animator.SetFloat("VelocityX", h); | |||
|  | 			animator.SetFloat("VelocityY", v); | |||
|  | 		} | |||
|  | 		 | |||
|  | 		void Aiming(){ | |||
|  | 			for(int i = 0; i < Input.GetJoystickNames().Length; i++){ | |||
|  | 				//if the right joystick is moved, use that for facing. | |||
|  | 				if(Mathf.Abs(inputHorizontal2) > 0.1 || Mathf.Abs(inputVertical2) < -0.1){ | |||
|  | 					Vector3 joyDirection = new Vector3(inputHorizontal2, 0, -inputVertical2); | |||
|  | 					joyDirection = joyDirection.normalized; | |||
|  | 					Quaternion joyRotation = Quaternion.LookRotation(joyDirection); | |||
|  | 					transform.rotation = joyRotation; | |||
|  | 				} | |||
|  | 			} | |||
|  | 			//no joysticks, use mouse aim. | |||
|  | 			if(Input.GetJoystickNames().Length == 0){ | |||
|  | 				Plane characterPlane = new Plane(Vector3.up, transform.position); | |||
|  | 				Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); | |||
|  | 				Vector3 mousePosition = new Vector3(0, 0, 0); | |||
|  | 				float hitdist = 0.0f; | |||
|  | 				if(characterPlane.Raycast(ray, out hitdist)){ | |||
|  | 					mousePosition = ray.GetPoint(hitdist); | |||
|  | 				} | |||
|  | 				mousePosition = new Vector3(mousePosition.x, transform.position.y, mousePosition.z); | |||
|  | 				Vector3 relativePos = transform.position - mousePosition; | |||
|  | 				Quaternion rotation = Quaternion.LookRotation(-relativePos); | |||
|  | 				transform.rotation = rotation; | |||
|  | 			} | |||
|  | 		} | |||
|  | 		 | |||
|  | 		public IEnumerator _MovePause(float pauseTime){ | |||
|  | 			isPaused = true; | |||
|  | 			animator.applyRootMotion = true; | |||
|  | 			yield return new WaitForSeconds(pauseTime); | |||
|  | 			isPaused = false; | |||
|  | 			animator.applyRootMotion = false; | |||
|  | 		} | |||
|  | 		 | |||
|  | 		public IEnumerator _ChangeCharacterState(float waitTime, CharacterState state){ | |||
|  | 			yield return new WaitForSeconds(waitTime); | |||
|  | 			charState = state; | |||
|  | 		} | |||
|  | 		 | |||
|  | 		public IEnumerator _ShowItem(string item, float waittime){ | |||
|  | 			yield return new WaitForSeconds (waittime); | |||
|  | 			if(item == "none"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive(false); | |||
|  | 				fishingpole.SetActive(false); | |||
|  | 				shovel.SetActive(false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "axe"){ | |||
|  | 				axe.SetActive(true); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "hammer"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (true); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "fishingpole"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (true); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "shovel"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (true); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "box"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(true); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "food"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(true); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "drink"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(true); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "saw"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(true); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "pickaxe"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(true); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "sickle"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(true); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "rake"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(true); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "chair"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(true); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "chaireat"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(true); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(true); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "chairdrink"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(true); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(true); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "ladder"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(true); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "pushpull"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(true); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "lumber"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(true); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "sphere"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(true); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "cart"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(true); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "paintbrush"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(true); | |||
|  | 				spear.SetActive(false); | |||
|  | 			} | |||
|  | 			else if(item == "spear"){ | |||
|  | 				axe.SetActive(false); | |||
|  | 				hammer.SetActive (false); | |||
|  | 				fishingpole.SetActive (false); | |||
|  | 				shovel.SetActive (false); | |||
|  | 				box.SetActive(false); | |||
|  | 				food.SetActive(false); | |||
|  | 				drink.SetActive(false); | |||
|  | 				saw.SetActive(false); | |||
|  | 				pickaxe.SetActive(false); | |||
|  | 				sickle.SetActive(false); | |||
|  | 				rake.SetActive(false); | |||
|  | 				chair.SetActive(false); | |||
|  | 				ladder.SetActive(false); | |||
|  | 				pushpull.SetActive(false); | |||
|  | 				lumber.SetActive(false); | |||
|  | 				sphere.SetActive(false); | |||
|  | 				cart.SetActive(false); | |||
|  | 				paintbrush.SetActive(false); | |||
|  | 				spear.SetActive(true); | |||
|  | 			} | |||
|  | 			yield return null; | |||
|  | 		} | |||
|  | 	} | |||
|  | } |