Example #1
0
        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);
        }
        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");
                }
            }
        }
Example #3
0
        public void LoadFromXml(XmlNode target)
        {
            name = target.Attributes ["Name"].Value;

            if (music == null)
            {
                music = new MusicTrackList();
            }
            if (sound == null)
            {
                sound = new SoundTrackList();
            }
            music.Clear();
            sound.Clear();

            if (XmlDataParser.IsAnyTagInChildExist(target, "Music"))
            {
                XmlNode musicNode = XmlDataParser.FindUniqueTagInChild(target, "Music");
                if (XmlDataParser.IsAnyTagInChildExist(musicNode, "Track"))
                {
                    if (musicNode.Attributes ["DelayBetweenTracks"] != null)
                    {
                        music.delay = AEngineTool.ParseFloat(musicNode.Attributes ["DelayBetweenTracks"].Value, 0f);
                    }
                    if (musicNode.Attributes ["MusicNotReplyLength"] != null)
                    {
                        music.musicNotReplyCount = int.Parse(musicNode.Attributes ["MusicNotReplyLength"].Value);
                    }

                    foreach (XmlNode musicTrack in XmlDataParser.FindAllTagsInChild(musicNode, "Track"))
                    {
                        Track track = LoadTrackFromXml(musicTrack);
                        music.tracks.Add(track.name, track);
                        if (musicTrack.Attributes ["Special"] == null)
                        {
                            music.AddTrackToBackgroundMusic(track);
                        }
                    }
                }
            }

            if (XmlDataParser.IsAnyTagInChildExist(target, "Sound"))
            {
                XmlNode soundNode = XmlDataParser.FindUniqueTagInChild(target, "Sound");
                if (XmlDataParser.IsAnyTagInChildExist(soundNode, "Track"))
                {
                    foreach (XmlNode soundTrack in XmlDataParser.FindAllTagsInChild(soundNode, "Track"))
                    {
                        Track track = LoadTrackFromXml(soundTrack);
                        sound.tracks.Add(track.name, track);
                    }
                }
            }
        }
Example #4
0
        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();
            }
        }
Example #5
0
        private Track LoadTrackFromXml(XmlNode target)
        {
            Track track = new Track();

            track.name = target.Attributes ["Name"].Value;
            if (target.Attributes ["Path"] != null)
            {
                track.path = target.Attributes ["Path"].Value;
            }
            if (target.Attributes ["Volume"] != null)
            {
                track.Volume = AEngineTool.ParseFloat(target.Attributes ["Volume"].Value, 1f);
            }

            return(track);
        }