private void InitConfiguration() { if (audioData == null) { audioData = new Dictionary <string, AudioBlock> (); } else { audioData.Clear(); } if (!XmlDataParser.ExistsInProjectXmlFile(BaseEngineConstants.AudioConfigurationPath, BaseEngineConstants.AudioConfigurationShortFileName)) { CreateStandardXmlDocument(); } XmlDocument xmlDocument = XmlDataParser.LoadXmlDocumentFromProject(BaseEngineConstants.AudioConfigurationPath, BaseEngineConstants.AudioConfigurationShortFileName); XmlNode rootNode = XmlDataParser.FindUniqueTag(xmlDocument, "AudioData"); if (XmlDataParser.IsAnyTagInChildExist(rootNode, "AudioSettings")) { XmlNode defaultNode = XmlDataParser.FindUniqueTagInChild(rootNode, "AudioSettings"); defaultSetting.useMusic = bool.Parse(defaultNode.Attributes ["useMusic"].Value); defaultSetting.musicVolume = AEngineTool.ParseFloat(defaultNode.Attributes["musicVolume"].Value, 1f); defaultSetting.useSound = bool.Parse(defaultNode.Attributes ["useSound"].Value); defaultSetting.soundVolume = AEngineTool.ParseFloat(defaultNode.Attributes["soundVolume"].Value, 1f); } if (XmlDataParser.IsAnyTagInChildExist(rootNode, "AudioConfiguration")) { XmlNode configNode = XmlDataParser.FindUniqueTagInChild(rootNode, "AudioConfiguration"); soundSourceCount = int.Parse(configNode.Attributes ["SoundSourceCount"].Value); fadeTime = AEngineTool.ParseFloat(configNode.Attributes["fade"].Value, 0f); useFadeOn = bool.Parse(configNode.Attributes ["fadeOn"].Value); } if (!XmlDataParser.IsAnyTagInChildExist(rootNode, "AudioBlock")) { return; } foreach (XmlNode item in XmlDataParser.FindAllTagsInChild(rootNode, "AudioBlock")) { string key = item.Attributes ["Name"].Value; if (!audioData.ContainsKey(key)) { audioData.Add(key, new AudioBlock()); audioData [key].LoadFromXml(item); } else { Debug.LogError("Some equals audio blocks name"); } } }