private void LoadAudioSettings() { XmlDocument xmlDocument; bool needSave = false; if (!XmlDataParser.ExistsXmlFile(BaseEngineConstants.BaseSettingsPath, BaseEngineConstants.AudioSettingsShortFileName)) { if (!XmlDataParser.ExistsInResourcesXmlFile(BaseEngineConstants.AudioResConfigurationPath, BaseEngineConstants.AudioConfigurationShortFileName)) { SaveAudioSettings(); xmlDocument = XmlDataParser.LoadXmlDocumentFromFile(BaseEngineConstants.BaseSettingsPath, BaseEngineConstants.AudioSettingsShortFileName); } else { xmlDocument = XmlDataParser.LoadXmlDocumentFromResources(BaseEngineConstants.AudioResConfigurationPath, BaseEngineConstants.AudioConfigurationShortFileName); needSave = true; } } else { xmlDocument = XmlDataParser.LoadXmlDocumentFromFile(BaseEngineConstants.BaseSettingsPath, BaseEngineConstants.AudioSettingsShortFileName); } if (!XmlDataParser.IsAnyTagExist(xmlDocument, "AudioData")) { Debug.Log("AudioData not founded"); return; } XmlNode rootNode = XmlDataParser.FindUniqueTag(xmlDocument, "AudioData"); if (!XmlDataParser.IsAnyTagInChildExist(rootNode, "AudioSettings")) { Debug.Log("AudioSettings not founded"); return; } XmlNode audioNode = XmlDataParser.FindUniqueTagInChild(rootNode, "AudioSettings"); isMusic = bool.Parse(audioNode.Attributes ["useMusic"].Value); musicVolumme = AEngineTool.ParseFloat(audioNode.Attributes ["musicVolume"].Value, 1f); isSound = bool.Parse(audioNode.Attributes ["useSound"].Value); soundVolumme = AEngineTool.ParseFloat(audioNode.Attributes ["soundVolume"].Value, 1f); if (needSave) { SaveAudioSettings(); } }