public void RotatePlayer(bool direction) { // direction is true for right, false for left float y_change = 90.0f; if (!direction) { y_change = -y_change; if (current_dir == PointingDirection.forward) { current_dir = PointingDirection.left; } else if (current_dir == PointingDirection.left) { current_dir = PointingDirection.backward; } else if (current_dir == PointingDirection.right) { current_dir = PointingDirection.forward; } else { current_dir = PointingDirection.right; } } else { if (current_dir == PointingDirection.forward) { current_dir = PointingDirection.right; } else if (current_dir == PointingDirection.left) { current_dir = PointingDirection.forward; } else if (current_dir == PointingDirection.right) { current_dir = PointingDirection.backward; } else { current_dir = PointingDirection.left; } } Vector3 rot = transform.rotation.eulerAngles; // make the change and don't if limits are hit float rot_ch = CalculatedRotation(y_change, rot); transform.eulerAngles = new Vector3(rot.x, rot_ch, rot.z); }
void Start() { current_dir = PointingDirection.forward; side_bounds = GameObject.Find("PathManager").GetComponent <CreateGrid>().squareSize * 10.0f / 2.0f; }