void Update() { // Movement float xAxis = Input.GetAxis("Horizontal"); //z-axis is y-axis float zAxis = Input.GetAxis("Vertical"); parentObject.transform.Translate(Vector3.forward * zAxis * moveSpeed * Time.deltaTime, Space.Self); // Rotation Vector3 rot = parentObject.transform.rotation.eulerAngles; rot.y += xAxis * rotationSpeed * Time.deltaTime; parentObject.transform.rotation = Quaternion.Euler(rot); /* * Controls */ // Possession if (Input.GetMouseButton(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit, Mathf.Infinity)) { ControllableEntity c = hit.transform.root.GetComponentInChildren <ControllableEntity>(); if (c != null) { if (c.GetComponent <MobController>().isAIEnabled) { // Start of Posesssion isPossessing = true; targetEnemy = c; GameController.GetInstance.timerPaused = true; } } } } if (isPossessing) { Possess(targetEnemy); } }