void Update() { // If we aren't on a planet or don't have a character, bail. if (planet == null || character == null) { return; } playerOrbit.center = CalculateCenterOfGravity(); float startingAngle = playerOrbit.GetAngleInDegrees(); float nextAngle = playerOrbit.GetAngleInDegrees() + speed * -Input.GetAxis("Horizontal"); playerOrbit.SetAngleInDegrees(nextAngle); if (!OnScreen(playerOrbit.CalculatePosition())) { // reset the angle Debug.Log("NEW ANGLE OFF SCREEN"); playerOrbit.SetAngleInDegrees(startingAngle); } // Set the new position transform.position = playerOrbit.CalculatePosition(); transform.LookAt(playerOrbit.center); if (Input.GetButton("Jump")) { Firing(); } }