public void LoadAudioBlockData(string pathToAudioXmlFile, string shortXmlFileName, string blockName) { XmlDocument xmlDocument = XmlDataParser.LoadXmlDocumentFromResources(pathToAudioXmlFile, shortXmlFileName); XmlNode rootNode = XmlDataParser.FindUniqueTag(xmlDocument, "AudioData"); XmlNode targetNode = XmlDataParser.FindTagByUniqueAttributeValueInChild(rootNode, "AudioBlock", "Name", blockName); XmlNode audioNode; MusicList.Clear(); if (XmlDataParser.IsAnyTagInChildExist(targetNode, "Music")) { audioNode = XmlDataParser.FindUniqueTagInChild(targetNode, "Music"); Delay = float.Parse(audioNode.Attributes["DelayBetweenTracks"].Value); if (XmlDataParser.IsAnyTagInChildExist(audioNode, "Track")) { foreach (XmlNode item in XmlDataParser.FindAllTagsInChild(audioNode, "Track")) { MusicList.Add(item.Attributes["Name"].Value); } } } SoundList.Clear(); if (XmlDataParser.IsAnyTagInChildExist(targetNode, "Sound")) { audioNode = XmlDataParser.FindUniqueTagInChild(targetNode, "Sound"); if (XmlDataParser.IsAnyTagInChildExist(audioNode, "Track")) { foreach (XmlNode item in XmlDataParser.FindAllTagsInChild(audioNode, "Track")) { SoundList.Add(item.Attributes["Name"].Value); } } } }
private void LoadAudioConfiguration() { // Default settings maxSoundSourceCount = 3; fadeTime = 0; fadeOn = false; if (!XmlDataParser.ExistsInResourcesXmlFile(BaseEngineConstants.AudioResConfigurationPath, BaseEngineConstants.AudioConfigurationShortFileName)) { return; } XmlDocument xmlDocument = XmlDataParser.LoadXmlDocumentFromResources(BaseEngineConstants.AudioResConfigurationPath, BaseEngineConstants.AudioConfigurationShortFileName); XmlNode rootNode = XmlDataParser.FindUniqueTag(xmlDocument, "AudioData"); if (!XmlDataParser.IsAnyTagInChildExist(rootNode, "AudioConfiguration")) { return; } XmlNode configNode = XmlDataParser.FindUniqueTagInChild(rootNode, "AudioConfiguration"); maxSoundSourceCount = int.Parse(configNode.Attributes ["SoundSourceCount"].Value); fadeTime = AEngineTool.ParseFloat(configNode.Attributes ["fade"].Value, 0f); fadeOn = bool.Parse(configNode.Attributes ["fadeOn"].Value); }
public bool LoadAudioBlock(string blockName) { if (audioBlock.name == blockName) { return(false); } XmlDocument xmlDocument = XmlDataParser.LoadXmlDocumentFromResources(BaseEngineConstants.AudioResConfigurationPath, BaseEngineConstants.AudioConfigurationShortFileName); XmlNode rootNode = XmlDataParser.FindUniqueTag(xmlDocument, "AudioData"); if (!XmlDataParser.IsAnyTagInChildExist(rootNode, "AudioBlock")) { return(false); } foreach (XmlNode item in XmlDataParser.FindAllTagsInChild(rootNode, "AudioBlock")) { if (blockName == item.Attributes["Name"].Value) { audioBlock.LoadFromXml(item); audioBlock.LoadAudioResources(); break; } } return(true); }
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(); } }