internal void InspectorGUI(SerializedObject serializedObject)
        {
            EditorGUIUtility.labelWidth = MarsEditorGUI.SettingsLabelWidth;
            serializedObject.Update();

            using (var changeCheck = new EditorGUI.ChangeCheckScope())
            {
                EditorGUILayout.HelpBox(
                    "Change lat/long here to simulate different testing locations.\nValues here have no effect in builds.",
                    MessageType.Info);

                EditorGUILayout.PropertyField(m_LatitudeProperty);
                EditorGUILayout.PropertyField(m_LongitudeProperty);


                m_ShortcutButtonsFoldout = GeoLocationShortcutButtons.DrawShortcutButtons("Debug Geolocation Shortcuts",
                                                                                          (latitude, longitude) =>
                {
                    m_LatitudeProperty.doubleValue  = latitude;
                    m_LongitudeProperty.doubleValue = longitude;
                    serializedObject.ApplyModifiedProperties();
                    GeoLocationModuleDrawerUtils.PropagateGeoLocationChanges();
                }, true, m_ShortcutButtonsFoldout);

                if (changeCheck.changed)
                {
                    m_LatitudeProperty.doubleValue  = MathUtility.Clamp(m_LatitudeProperty.doubleValue, -GeoLocationModule.MaxLatitude, GeoLocationModule.MaxLatitude);
                    m_LongitudeProperty.doubleValue = MathUtility.Clamp(m_LongitudeProperty.doubleValue, -GeoLocationModule.MaxLongitude, GeoLocationModule.MaxLongitude);
                    serializedObject.ApplyModifiedProperties();
                    GeoLocationModuleDrawerUtils.PropagateGeoLocationChanges();
                }
            }
        }
        internal void InspectorGUI(SerializedObject serializedObject)
        {
            EditorGUIUtility.labelWidth = MarsEditorGUI.SettingsLabelWidth;
            serializedObject.Update();

            using (var changeCheck = new EditorGUI.ChangeCheckScope())
            {
                if (!m_AutoStartLocationServiceProperty.boolValue)
                {
                    EditorGUILayout.HelpBox("GeoLocation service is NOT set to start automatically.",
                                            MessageType.Info);
                }

                EditorGUILayout.PropertyField(m_AutoStartLocationServiceProperty);
                EditorGUILayout.PropertyField(m_DesiredAccuracyProperty);
                EditorGUILayout.PropertyField(m_ContinuousUpdatesProperty);
                using (new EditorGUI.DisabledScope(!m_ContinuousUpdatesProperty.boolValue))
                {
                    EditorGUILayout.PropertyField(m_UpdateDistanceProperty);
                    EditorGUILayout.PropertyField(m_UpdateIntervalProperty);
                }

                if (changeCheck.changed)
                {
                    serializedObject.ApplyModifiedProperties();
                    GeoLocationModuleDrawerUtils.PropagateGeoLocationChanges();
                }
            }
        }