コード例 #1
0
ファイル: Script.cs プロジェクト: fxMem/FBU
        /// <summary>
        /// Загружает скрипт из файла нативного формата (из указанной директории)
        /// </summary>
        /// <param name="scriptDirectory"></param>
        public Script
            (string scriptDirectory,
            IFbuDataLoader loader,
            ITemplateVarsLoader varLoader,
            ICompressor compressor)
        {
            if (!Directory.Exists(scriptDirectory))
            {
                throw new DirectoryNotFoundException("You must specify directory with native script files");
            }

            _chapters = new List <Chapter>();
            int entryId = 1;

            foreach (var file in Directory.EnumerateFiles(scriptDirectory))
            {
                var chapter = loader.LoadFromNative(file, entryId);
                entryId += chapter.EntryCount;

                _chapters.Add(chapter);
            }

            compressor.Compress(_chapters);
            _version = new ScriptVersion(1, 0, 0);
        }
コード例 #2
0
ファイル: Script.cs プロジェクト: fxMem/FBU
        /// <summary>
        /// Загрузить скрипт из мастер-файла (xml)
        /// </summary>
        /// <param name="filename"></param>
        public Script
            (string filename,
            ITemplateVarsLoader varLoader
            )
        {
            if (!File.Exists(filename))
            {
                throw new FileNotFoundException("Can't find file with script. + " + filename);
            }

            _varLoader = varLoader;

            _chapters = new List <Chapter>();
            XElement xml = XElement.Load(filename);

            var scriptVersion = xml.Attribute(XmlDataValues.ScriptVersionAttr).Value;

            _version = new ScriptVersion(scriptVersion);

            foreach (var chapter in xml.Elements(XmlDataValues.ChapterTitle))
            {
                var temp = new Chapter(chapter);
                _chapters.Add(temp);
            }

            for (int i = 0; i < _chapters.Count; i++)
            {
                _chapters[i].UpdateLinks(this);
            }
        }
コード例 #3
0
 public ToXmlConverter(
     ITemplateVarsLoader varLoader
     )
 {
     _variables = varLoader.GetVariables();
 }
コード例 #4
0
ファイル: FbuDataLoader.cs プロジェクト: fxMem/FBU
 public FbuDataLoader(
     ITemplateVarsLoader varLoader
     )
 {
     _variables = varLoader.GetVariables();
 }