public void AlignWithView()
{
float num;
Vector3 vector3;
this.FixNegativeSize();
Vector3 position = this.camera.transform.position;
Vector3 vector2 = position - Tools.handlePosition;
(Quaternion.Inverse(Selection.activeTransform.rotation) * this.camera.transform.rotation).ToAngleAxis(out num, out vector3);
vector3 = Selection.activeTransform.TransformDirection(vector3);
Undo.RecordObjects(Selection.transforms, "Align with view");
foreach (Transform transform in Selection.transforms)
{
transform.position += vector2;
transform.RotateAround(position, vector3, num);
}
}