コード例 #1
0
        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");
                }
            }
        }