private void DoOriginEditing()
        {
            ReflectionProbe reflectionProbe = (ReflectionProbe)base.target;
            Vector3         position        = reflectionProbe.transform.position;
            Vector3         size            = reflectionProbe.size;

            EditorGUI.BeginChangeCheck();
            Vector3 v = Handles.PositionHandle(position, ReflectionProbeEditor.GetLocalSpaceRotation(reflectionProbe));

            if (EditorGUI.EndChangeCheck() || this.m_OldLocalSpace != ReflectionProbeEditor.GetLocalSpace((ReflectionProbe)base.target))
            {
                Vector3 vector = this.m_OldLocalSpace.inverse.MultiplyPoint3x4(v);
                Bounds  bounds = new Bounds(reflectionProbe.center, size);
                vector = bounds.ClosestPoint(vector);
                Undo.RecordObject(reflectionProbe.transform, "Modified Reflection Probe Origin");
                reflectionProbe.transform.position = this.m_OldLocalSpace.MultiplyPoint3x4(vector);
                Undo.RecordObject(reflectionProbe, "Modified Reflection Probe Origin");
                reflectionProbe.center = ReflectionProbeEditor.GetLocalSpace(reflectionProbe).inverse.MultiplyPoint3x4(this.m_OldLocalSpace.MultiplyPoint3x4(reflectionProbe.center));
                EditorUtility.SetDirty(base.target);
                this.UpdateOldLocalSpace();
            }
        }
        private static Matrix4x4 GetLocalSpace(ReflectionProbe probe)
        {
            Vector3 position = probe.transform.position;

            return(Matrix4x4.TRS(position, ReflectionProbeEditor.GetLocalSpaceRotation(probe), Vector3.one));
        }