Пример #1
0
        public void OnRemoveMoleculeButton()
        {
            if (molecules.SelectedMoleculeID == null)
            {
                return;
            }

            if (interactionsPanel.MonitoringEnabled)
            {
                interactionsPanel.StopInteractions();
                console.ShowError("Stopped monitoring molecular interactions, removed molecule");
            }

            int moleculeID = (int)molecules.SelectedMoleculeID;

            UserInterfaceEvents.RaiseRemoveMolecule(moleculeID);

            if (moleculeListItems.ContainsKey(moleculeID))
            {
                GameObject.Destroy(moleculeListItems[moleculeID].gameObject);
                moleculeListItems.Remove(moleculeID);
            }

            molecules.Remove(moleculeID, true);
            SetMoleculeSelected(molecules.SelectedMoleculeID);
            numberMoleculeListItems();
            updateSelectedMoleculeInterfaceSettings();
        }
Пример #2
0
        private void startInteractions()
        {
            List <int> moleculeIDs = molecules.GetIDs();

            if (moleculeIDs.Count != 2)
            {
                if (moleculeIDs.Count > 2)
                {
                    console.ShowError("Can't monitor molecule interactions. Only two molecules can to be loaded");
                }
                else
                {
                    console.ShowError("Can't monitor molecule interactions. At least two molecules need to be loaded");
                }

                return;
            }

            MoleculeRenderSettings molecule1Settings = molecules.Get(moleculeIDs[0]).RenderSettings;
            MoleculeRenderSettings molecule2Settings = molecules.Get(moleculeIDs[1]).RenderSettings;

            if (molecules.Get(moleculeIDs[0]).HasTrajectory || molecules.Get(moleculeIDs[1]).HasTrajectory)
            {
                MoleculeEvents.RaiseInteractionsMessage("Can't monitor interactions. Monitored molecules cannot have trajectories loaded.", true);
                return;
            }

            MonitoringEnabled        = true;
            StartStopButtonText.text = "Stop Monitoring Interactions";
            UserInterfaceEvents.RaiseStartMonitoringMoleculeInteractions(moleculeIDs[0], moleculeIDs[1], interactionSettings, molecule1Settings, molecule2Settings);

            ResetPositionsButton.interactable = true;
        }
 public void OnAutoMeshQualityToggleChanged()
 {
     meshQualityText.text            = autoMeshQualityToggle.isOn ? "Auto" : Settings.MeshQualityValues[generalSettings.MeshQuality];
     generalSettings.AutoMeshQuality = autoMeshQualityToggle.isOn;
     UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
     PlayerPrefs.SetInt(playerPrefsAutoMeshQualityKey, autoMeshQualityToggle.isOn ? 1 : 0);
 }
Пример #4
0
        public void SetMoleculeSelected(int?moleculeID)
        {
            molecules.SelectedMoleculeID = moleculeID;

            foreach (KeyValuePair <int, MoleculeSettingsPanelListItem> item in moleculeListItems)
            {
                item.Value.SetHighlighted(false);
                UserInterfaceEvents.RaiseMoleculeSelected(item.Key, false);
            }

            if (moleculeID != null)
            {
                foreach (KeyValuePair <int, MoleculeSettingsPanelListItem> item in moleculeListItems)
                {
                    if (item.Key == molecules.SelectedMoleculeID)
                    {
                        item.Value.SetHighlighted(true);

                        // if molecule is hidden then dont raise event. When molecule is unhidden then an event will be raised instead
                        MoleculeSettings molecule = molecules.Get((int)moleculeID);
                        if (molecule != null && !molecule.Hidden)
                        {
                            UserInterfaceEvents.RaiseMoleculeSelected(item.Key, true);
                        }
                    }
                }
            }

            updateSelectedMoleculeInterfaceSettings();
        }
        private void setElement(string elementName, bool enabled)
        {
            if (selectedMolecule == null || selectedMolecule.RenderSettings.EnabledElements == null)
            {
                return;
            }

            if (selectedMolecule.RenderSettings.EnabledElements.Contains(elementName))
            {
                if (!enabled)
                {
                    selectedMolecule.RenderSettings.EnabledElements.Remove(elementName);
                }
            }
            else
            {
                if (enabled)
                {
                    selectedMolecule.RenderSettings.EnabledElements.Add(elementName);
                }
            }

            if (selectedMolecule.Hidden)
            {
                selectedMolecule.PendingRerender = true;
            }
            else
            {
                UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
            }
        }
Пример #6
0
 public void OnResetMoleculePositions()
 {
     foreach (int moleculeID in molecules.GetIDs())
     {
         UserInterfaceEvents.RaiseResetMoleculeTransform(moleculeID);
     }
 }
Пример #7
0
        public void OnResetPositionButton()
        {
            MoleculeSettings molecule = molecules.GetSelected();

            if (molecule == null)
            {
                return;
            }

            UserInterfaceEvents.RaiseResetMoleculeTransform(molecule.ID);
        }
Пример #8
0
        private void onSaveSettingsFileSubmitted(string fullPath)
        {
            MoleculeSettings molecule = molecules.GetSelected();

            if (molecule == null)
            {
                return;
            }

            UserInterfaceEvents.RaiseSaveMoleculeSettings(molecule, fullPath);
        }
Пример #9
0
 public void OnStopButton()
 {
     if (validMoleculeSelected())
     {
         animating = false;
         MoleculeSettings molecule = molecules.GetSelected();
         molecule.CurrentTrajectoryFrameNumber = null;
         UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
         UpdateFrameNumberInfo();
     }
 }
 private void updateMoleculeRender()
 {
     if (selectedMolecule.Hidden)
     {
         selectedMolecule.PendingRerender = true;
     }
     else
     {
         UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
     }
 }
Пример #11
0
        private void loadRenderSettings(int moleculeID, MoleculeRenderSettings settings)
        {
            MoleculeSettings molecule = molecules.Get(moleculeID);

            if (molecule == null)
            {
                return;
            }

            molecule.RenderSettings = (MoleculeRenderSettings)settings;
            UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
        }
Пример #12
0
        private void stopInteracations()
        {
            MonitoringEnabled        = false;
            StartStopButtonText.text = "Start Monitoring Interactions";

            InteractionScoreText.text = "";
            InformationText.text      = "";

            UserInterfaceEvents.RaiseStopMonitoringMoleculeInteractions();

            ResetPositionsButton.interactable = false;
        }
Пример #13
0
        private void onLoadTrajectoryFileSubmitted(string filePath)
        {
            if (molecules.SelectedMoleculeID != null)
            {
                if (interactionsPanel.MonitoringEnabled)
                {
                    interactionsPanel.StopInteractions();
                    console.ShowError("Stopped monitoring molecular interactions, loading trajectory");
                }

                UserInterfaceEvents.RaiseLoadTrajectory((int)molecules.SelectedMoleculeID, filePath);
            }
        }
Пример #14
0
        private void stepBackwardAnimation()
        {
            MoleculeSettings molecule = molecules.GetSelected();

            molecule.CurrentTrajectoryFrameNumber--;

            if (molecule.CurrentTrajectoryFrameNumber == null || molecule.CurrentTrajectoryFrameNumber < 0)
            {
                molecule.CurrentTrajectoryFrameNumber = molecule.TrajectoryFrameCount - 1;
            }

            UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
            UpdateFrameNumberInfo();
        }
        public void SetLightIntensity(int intensity)
        {
            int startLighIntensity = lightIntensity;

            lightIntensity = Mathf.Clamp(intensity, Settings.MinLightIntensity, Settings.MaxLightIntensity);

            if (lightIntensity != startLighIntensity)
            {
                lightIntensityText.text        = lightIntensity.ToString();
                generalSettings.LightIntensity = (float)(lightIntensity - Settings.MinLightIntensity) / (float)(Settings.MaxLightIntensity - Settings.MinLightIntensity);
                UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
                PlayerPrefs.SetInt(playerPrefsLightIntensityKey, lightIntensity);
            }
        }
        public void SetMeshQuality(int meshQuality)
        {
            if (autoMeshQualityToggle.isOn ||
                generalSettings.MeshQuality > Settings.MeshQualityValues.Length - 1 ||
                generalSettings.MeshQuality < 0)
            {
                return;
            }

            generalSettings.MeshQuality = meshQuality;
            meshQualityText.text        = Settings.MeshQualityValues[generalSettings.MeshQuality];
            UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
            PlayerPrefs.SetInt(playerPrefsMeshQualityKey, generalSettings.MeshQuality);
        }
        public void SetAutoRotateSpeed(int speed)
        {
            int startSpeed = autoRotateSpeed;

            autoRotateSpeed = Mathf.Clamp(speed, Settings.MinAutoRotateSpeed, Settings.MaxAutoRotateSpeed);

            if (autoRotateSpeed != startSpeed)
            {
                autoRotateSpeedText.text = autoRotateSpeed.ToString();

                generalSettings.AutoRotateSpeed = (float)(autoRotateSpeed - Settings.MinAutoRotateSpeed) / (float)(Settings.MaxAutoRotateSpeed - Settings.MinAutoRotateSpeed);
                UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
                PlayerPrefs.SetInt(playerPrefsAutoRotateKey, autoRotateSpeed);
            }
        }
        public void SetMoleculeMovementSpeed(int speed)
        {
            int startSpeed = moleculeMovementSpeed;

            moleculeMovementSpeed = Mathf.Clamp(speed, Settings.MinMoleculeMovementSpeed, Settings.MaxMoleculeMovementSpeed);

            if (moleculeMovementSpeed != startSpeed)
            {
                moleculeMovementSpeedText.text = moleculeMovementSpeed.ToString();

                generalSettings.MoleculeInputSensitivity = (float)(moleculeMovementSpeed - Settings.MinMoleculeMovementSpeed) / (float)(Settings.MaxMoleculeMovementSpeed - Settings.MinMoleculeMovementSpeed);
                UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
                PlayerPrefs.SetInt(playerPrefsMoleculeMovementSpeedKey, moleculeMovementSpeed);
            }
        }
Пример #19
0
        private void onConfirmLoadTransformsFromSettings(bool confirmed, object data = null)
        {
            MoleculeSettings molecule = molecules.GetSelected();

            if (molecule == null || data == null)
            {
                return;
            }

            try {
                UserInterfaceEvents.RaiseLoadMoleculeSettings(molecule.ID, (string)data, false, true, true, true, confirmed, loadRenderSettings);
            }
            catch (InvalidCastException) {
                // do nothing
            }
        }
Пример #20
0
        private void onLoadMoleculeFileSubmitted(string filePath)
        {
            MoleculeSettings molecule = molecules.Add(filePath);

            if (interactionsPanel.MonitoringEnabled)
            {
                interactionsPanel.StopInteractions();
                console.ShowError("Stopped monitoring molecular interactions, loading molecule");
            }

            if (filePath.EndsWith(Settings.SettingsFileExtension))
            {
                UserInterfaceEvents.RaiseLoadMoleculeSettings(molecule.ID, filePath, true, true, true, true, true, loadRenderSettings);
            }
            else
            {
                UserInterfaceEvents.RaiseLoadMolecule(molecule.ID, filePath, molecule.RenderSettings);
            }
        }
Пример #21
0
        public void OnEndEditFrameInput()
        {
            Debug.Log("End frame input");

            try {
                int frameNumber = int.Parse(this.frameNumber.text);

                MoleculeSettings molecule = molecules.GetSelected();
                frameNumber           = Mathf.Clamp(frameNumber, 1, molecule.TrajectoryFrameCount);
                this.frameNumber.text = frameNumber.ToString();

                if (frameNumber != lastFrameNumber)
                {
                    Debug.Log("New frameNumber: " + frameNumber);
                    molecule.CurrentTrajectoryFrameNumber = frameNumber - 1;
                    UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
                }
            }
            catch (Exception) {
                frameNumber.text = lastFrameNumber.ToString();
            }
        }
Пример #22
0
        public void OnShowHideMoleculeButton()
        {
            MoleculeSettings molecule = molecules.GetSelected();

            if (molecule == null)
            {
                return;
            }

            if (hiddenMolecules.Contains(molecule.ID))
            {
                molecule.Hidden = false;
                UserInterfaceEvents.RaiseShowMolecule(molecule.ID);
                if (molecule.PendingRerender)
                {
                    UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(molecule.ID, molecule.RenderSettings, molecule.CurrentTrajectoryFrameNumber);
                }

                UserInterfaceEvents.RaiseMoleculeSelected(molecule.ID, true);
                hiddenMolecules.Remove(molecule.ID);
            }
            else
            {
                molecule.Hidden = true;
                trajectoryControls.StopAnimation();
                UserInterfaceEvents.RaiseHideMolecule(molecule.ID);
                hiddenMolecules.Add(molecule.ID);

                if (interactionsPanel.MonitoringEnabled)
                {
                    interactionsPanel.StopInteractions();
                    console.ShowError("Stopped monitoring molecular interactions, hiding molecule");
                }

                UserInterfaceEvents.RaiseMoleculeSelected(molecule.ID, false);
            }

            updateSelectedMoleculeInterfaceSettings();
        }
 public void DecreaseBondScale()
 {
     selectedMolecule.RenderSettings.BondScale -= scaleIncrementAmount;
     BondScale.text = selectedMolecule.RenderSettings.BondScale.ToString("F1");
     UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
 }
        public void SaveSettings()
        {
            if (selectedMolecule == null)
            {
                return;
            }

            bool visualisationUpdateRequired = false;

            // primary structure options
            if (selectedMolecule.RenderSettings.ShowPrimaryStructure != EnablePrimaryStructureToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowPrimaryStructure = EnablePrimaryStructureToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowAtoms != ShowAtomsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowAtoms = ShowAtomsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowBonds != ShowBondsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowBonds = ShowBondsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowStandardResidues != ShowStandardResiduesToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowStandardResidues = ShowStandardResiduesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowNonStandardResidues != ShowNonStandardResiduesToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowNonStandardResidues = ShowNonStandardResiduesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowMainChains != ShowMainChainsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowMainChains = ShowMainChainsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            // representation options
            if (ShowCPKToggle.isOn && selectedMolecule.RenderSettings.Representation != MolecularRepresentation.CPK)
            {
                selectedMolecule.RenderSettings.Representation = MolecularRepresentation.CPK;
                visualisationUpdateRequired = true;
            }
            else if (ShowVDWToggle.isOn && selectedMolecule.RenderSettings.Representation != MolecularRepresentation.VDW)
            {
                selectedMolecule.RenderSettings.Representation = MolecularRepresentation.VDW;
                visualisationUpdateRequired = true;
            }

            // secondary structure options
            if (selectedMolecule.RenderSettings.ShowSecondaryStructure != EnableSecondaryStructureToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowSecondaryStructure = EnableSecondaryStructureToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowHelices != ShowHelicesToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowHelices = ShowHelicesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowSheets != ShowSheetsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowSheets = ShowSheetsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.ShowTurns != ShowTurnsToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowTurns = ShowTurnsToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.SmoothNodes != SmoothNodesToggle.isOn)
            {
                selectedMolecule.RenderSettings.SmoothNodes = SmoothNodesToggle.isOn;
                visualisationUpdateRequired = true;
            }

            // other options
            if (selectedMolecule.RenderSettings.ShowSimulationBox != EnableSimlationBoxToggle.isOn)
            {
                selectedMolecule.RenderSettings.ShowSimulationBox = EnableSimlationBoxToggle.isOn;
                visualisationUpdateRequired = true;
            }

            if (selectedMolecule.RenderSettings.CalculateBoxEveryFrame != CalculateBoxEveryFrameToggle.isOn)
            {
                selectedMolecule.RenderSettings.CalculateBoxEveryFrame = CalculateBoxEveryFrameToggle.isOn;
                visualisationUpdateRequired = true;
            }

            // recreate structures if necessary
            if (visualisationUpdateRequired)
            {
                if (selectedMolecule.Hidden)
                {
                    selectedMolecule.PendingRerender = true;
                }
                else
                {
                    UserInterfaceEvents.RaiseMoleculeRenderSettingsUpdated(selectedMolecule.ID, selectedMolecule.RenderSettings, selectedMolecule.CurrentTrajectoryFrameNumber);
                }
            }
        }
        public void SetSceneSettings(GeneralSettings settings)
        {
            generalSettings = settings;

            if (PlayerPrefs.HasKey(playerPrefsMainLightKey))
            {
                generalSettings.MainLightsOn = PlayerPrefs.GetInt(playerPrefsMainLightKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsFillLightKey))
            {
                generalSettings.FillLightsOn = PlayerPrefs.GetInt(playerPrefsFillLightKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsAmbientLightKey))
            {
                generalSettings.AmbientLightsOn = PlayerPrefs.GetInt(playerPrefsAmbientLightKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsShadowsKey))
            {
                generalSettings.ShowShadows = PlayerPrefs.GetInt(playerPrefsShadowsKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsGroundKey))
            {
                generalSettings.ShowGround = PlayerPrefs.GetInt(playerPrefsGroundKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsLightIntensityKey))
            {
                lightIntensity = PlayerPrefs.GetInt(playerPrefsLightIntensityKey);
                generalSettings.LightIntensity = (float)(lightIntensity - Settings.MinLightIntensity) / (float)(Settings.MaxLightIntensity - Settings.MinLightIntensity);
            }
            else
            {
                lightIntensity = (int)((generalSettings.LightIntensity * (float)(Settings.MaxLightIntensity - Settings.MinLightIntensity)) + Settings.MinLightIntensity);
            }

            if (PlayerPrefs.HasKey(playerPrefsAutoMeshQualityKey))
            {
                generalSettings.AutoMeshQuality = PlayerPrefs.GetInt(playerPrefsAutoMeshQualityKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsMeshQualityKey))
            {
                generalSettings.MeshQuality = PlayerPrefs.GetInt(playerPrefsMeshQualityKey);
            }

            if (PlayerPrefs.HasKey(playerPrefsAutoRotateKey))
            {
                autoRotateSpeed = PlayerPrefs.GetInt(playerPrefsAutoRotateKey);
                generalSettings.AutoRotateSpeed = (float)(autoRotateSpeed - Settings.MinAutoRotateSpeed) / (float)(Settings.MaxAutoRotateSpeed - Settings.MinAutoRotateSpeed);
            }
            else
            {
                autoRotateSpeed = (int)((generalSettings.AutoRotateSpeed * (float)(Settings.MaxAutoRotateSpeed - Settings.MinAutoRotateSpeed)) + Settings.MinAutoRotateSpeed);
            }

            if (PlayerPrefs.HasKey(playerPrefsSpaceNavigatorCameraControlKey))
            {
                generalSettings.SpaceNavigatorCameraControlEnabled = PlayerPrefs.GetInt(playerPrefsSpaceNavigatorCameraControlKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsSpaceNavigatorMoleculeControlKey))
            {
                generalSettings.SpaceNavigatorMoleculeControlEnabled = PlayerPrefs.GetInt(playerPrefsSpaceNavigatorMoleculeControlKey) > 0 ? true : false;
            }

            if (PlayerPrefs.HasKey(playerPrefsMoleculeMovementSpeedKey))
            {
                moleculeMovementSpeed = PlayerPrefs.GetInt(playerPrefsMoleculeMovementSpeedKey);
                generalSettings.MoleculeInputSensitivity = (float)(moleculeMovementSpeed - Settings.MinMoleculeMovementSpeed) / (float)(Settings.MaxMoleculeMovementSpeed - Settings.MinMoleculeMovementSpeed);
            }
            else
            {
                moleculeMovementSpeed = (int)((generalSettings.MoleculeInputSensitivity * (float)(Settings.MaxMoleculeMovementSpeed - Settings.MinMoleculeMovementSpeed)) + Settings.MinMoleculeMovementSpeed);
            }

            groundToggle.isOn        = generalSettings.ShowGround;
            shadowsToggle.isOn       = generalSettings.ShowShadows;
            mainLightsToggle.isOn    = generalSettings.MainLightsOn;
            fillLightsToggle.isOn    = generalSettings.FillLightsOn;
            ambientLightsToggle.isOn = generalSettings.AmbientLightsOn;
            lightIntensityText.text  = lightIntensity.ToString();

            autoRotateSpeedText.text                 = autoRotateSpeed.ToString();
            moleculeMovementSpeedText.text           = moleculeMovementSpeed.ToString();
            spaceNavigatorCameraControlToggle.isOn   = generalSettings.SpaceNavigatorCameraControlEnabled;
            spaceNavigatorMoleculeControlToggle.isOn = generalSettings.SpaceNavigatorMoleculeControlEnabled;

            autoMeshQualityToggle.isOn  = generalSettings.AutoMeshQuality;
            generalSettings.MeshQuality = Mathf.Clamp(generalSettings.MeshQuality, 0, Settings.MeshQualityValues.Length - 1);
            meshQualityText.text        = generalSettings.AutoMeshQuality ? "Auto" : Settings.MeshQualityValues[generalSettings.MeshQuality];

            UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
        }
 public void OnSpaceNavigatorMoleculeControlChanged()
 {
     generalSettings.SpaceNavigatorMoleculeControlEnabled = spaceNavigatorMoleculeControlToggle.isOn;
     UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
     PlayerPrefs.SetInt(playerPrefsSpaceNavigatorMoleculeControlKey, spaceNavigatorMoleculeControlToggle.isOn ? 1 : 0);
 }
 public void OnAmbientLightsToggleChanged()
 {
     generalSettings.AmbientLightsOn = ambientLightsToggle.isOn;
     UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
     PlayerPrefs.SetInt(playerPrefsAmbientLightKey, ambientLightsToggle.isOn ? 1 : 0);
 }
 public void OnFillLightsToggleChanged()
 {
     generalSettings.FillLightsOn = fillLightsToggle.isOn;
     UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
     PlayerPrefs.SetInt(playerPrefsFillLightKey, fillLightsToggle.isOn ? 1 : 0);
 }
 public void OnShadowsToggleChanged()
 {
     generalSettings.ShowShadows = shadowsToggle.isOn;
     UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
     PlayerPrefs.SetInt(playerPrefsShadowsKey, shadowsToggle.isOn ? 1 : 0);
 }
 public void OnGroundToggleChanged()
 {
     generalSettings.ShowGround = groundToggle.isOn;
     UserInterfaceEvents.RaiseGeneralSettingsUpdated(generalSettings);
     PlayerPrefs.SetInt(playerPrefsGroundKey, groundToggle.isOn ? 1 : 0);
 }