void Aiming() { cursorDirection = new Vector3(input.GetAxis("CursorX"), input.GetAxis("CursorY"), 0); cursorDirection = Vector3.ClampMagnitude(cursorDirection, 1); cursorDirection.y = cursorDirection.y / 2; cursorDirection *= cursorReach; if (inputIndex == 0) { cursor.position = (Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 5.0f))); } else { print("inputIndex = " + inputIndex + ". radial cursor mode. "); cursor.localPosition = (Vector3.SmoothDamp(cursor.localPosition, cursorDirection, ref velocity, cursorSmooth)); } float dist = Vector2.Distance(cursorAnchor.position, cursor.position); if (dist > joystickDeadzone) { Vector3 dir = cursor.position - staffPivot.position; float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg; staffPivot.rotation = Quaternion.AngleAxis(angle, Vector3.forward); } else { if (cursor.position.x > trans.position.x) { staffPivot.rotation = new Quaternion(0, 0, 0, 0); } else { staffPivot.rotation = new Quaternion(0, 0, 180, 0); } } playerAnimations.AnimationUpdate(rb.velocity.magnitude, (cursor.position.x - trans.position.x)); }