Open() public static method

public static Open ( string archive ) : Archive
archive string
return Archive
コード例 #1
0
        /// <summary>
        /// Make a dictionary with all the files in the VFS
        /// </summary>
        Dictionary <string, LazyFileData> LoadArchives(IEnumerable <string> archives)
        {
            var fileMap = new Dictionary <string, LazyFileData>();

            foreach (var archiveName in archives)
            {
                var archive  = Archive.Open(archiveName);
                var fileName = archiveName.ToLower().Replace("\\", "/");
                var fileData = new LazyFileData(archiveName, archive);
                fileMap.Remove(fileName);
                fileMap[fileName] = fileData;
            }
            return(fileMap);
        }
コード例 #2
0
ファイル: SpringLua.cs プロジェクト: sprunk/SpringRTS-Tools
        static string GetTdfField(IntPtr L, string fieldName, string archivePath)
        {
            var archive = Archive.Open(archivePath);
            var tdfFile = FindModInfo(archive, "tdf");

            if (tdfFile != null)
            {
                var modInfoTable = GetTdfTableFromString(L, Archive.ExtractTextFile(archivePath, tdfFile));
                if (modInfoTable[0] is LuaNil)
                {
                    throw new Exception(String.Format("Error in file {0}: {1}", archivePath, modInfoTable[1]));
                }
                var modInfo = modInfoTable[0].GetField("mod");
                if (modInfo == null)
                {
                    return(null);
                }
                var field = modInfo.GetField(fieldName);
                if (field == null)
                {
                    return(null);
                }
                return(field.ToString());
            }
            var luaFile = FindModInfo(archive, "lua");

            if (luaFile != null)
            {
                var modinfo = Archive.ExtractTextFile(archivePath, luaFile);
                var result  = CLua.TraceDoString(L, 1, modinfo)[0].GetField(fieldName);
                if (result == null)
                {
                    return(null);
                }
                return(result.ToString());
            }
            return(null);
        }