Esempio n. 1
0
    static public void showFileContentMd5()
    {
        UnityEngine.Object obj  = Selection.objects [0];
        string             path = AssetDatabase.GetAssetPath(obj);//Selection表示你鼠标选择激活的对象

        Debug.Log(path);
        Debug.Log("md5==[" + Utl.MD5Encrypt(File.ReadAllBytes(path)) + "]");
    }
Esempio n. 2
0
    public string getUpgradePackageMd5(string name)
    {
        string p = getUpgradePackagePath(name);

        p = PStr.b().a(p).a("/").a(CLPathCfg.self.basePath).a("/resVer/").a(CLPathCfg.self.platform).e();
        if (Directory.Exists(p))
        {
            string[] files    = Directory.GetFiles(p);
            string   fileName = "";
            for (int i = 0; i < files.Length; i++)
            {
                fileName = Path.GetFileName(files [i]);
                if (fileName.StartsWith("VerCtl.ver"))
                {
                    return(Utl.MD5Encrypt(File.ReadAllBytes(files [i])));
                }
            }
        }
        return("");
    }
Esempio n. 3
0
    static void doCreate(string path, Hashtable lastOtherVer, Hashtable lastPriorityVer, Hashtable lastCfgdataVer, ref Hashtable outMap)
    {
        string[] fileEntries = Directory.GetFiles(path);
        string   extension   = "";
        string   filePath    = "";
        string   md5Str      = "";

        foreach (string fileName in fileEntries)
        {
            extension = Path.GetExtension(fileName);
            if (ECLEditorUtl.isIgnoreFile(fileName))
            {
                continue;
            }
            filePath = filter(fileName);
            filePath = filePath.Replace("\\", "/");
            filePath = filePath.Replace("/upgradeRes4Publish/", "/upgradeRes/");

            if (ECLProjectManager.isModified(fileName))
            {
                md5Str = Utl.MD5Encrypt(File.ReadAllBytes(fileName));
            }
            else
            {
                md5Str = MapEx.getString(lastOtherVer, filePath);
                if (string.IsNullOrEmpty(md5Str))
                {
                    md5Str = MapEx.getString(lastPriorityVer, filePath);
                }
                else if (string.IsNullOrEmpty(md5Str))
                {
                    md5Str = MapEx.getString(lastCfgdataVer, filePath);
                }
            }
            outMap [filePath] = md5Str;
        }

        string[] dirEntries = Directory.GetDirectories(path);
        foreach (string dir in dirEntries)
        {
            //跳过不同平台的资源
                        #if UNITY_ANDROID
            if (Path.GetFileName(dir).Equals("IOS") || Path.GetFileName(dir).Equals("Standalone") || Path.GetFileName(dir).Equals("StandaloneOSX"))
            {
                continue;
            }
#elif UNITY_IOS
            if (Path.GetFileName(dir).Equals("Android") || Path.GetFileName(dir).Equals("Standalone") || Path.GetFileName(dir).Equals("StandaloneOSX"))
            {
                continue;
            }
#elif UNITY_STANDALONE_WIN
            if (Path.GetFileName(dir).Equals("Android") || Path.GetFileName(dir).Equals("IOS") || Path.GetFileName(dir).Equals("StandaloneOSX"))
            {
                continue;
            }
#elif UNITY_STANDALONE_OSX
            if (Path.GetFileName(dir).Equals("Android") || Path.GetFileName(dir).Equals("IOS") || Path.GetFileName(dir).Equals("Standalone"))
            {
                continue;
            }
#endif
            doCreate(dir, lastOtherVer, lastPriorityVer, lastCfgdataVer, ref outMap);
        }
    }
Esempio n. 4
0
    void  initData(string path, int tabs)
    {
        //跳过不同平台的资源
#if UNITY_ANDROID
        if (Path.GetFileName(path).Equals("IOS") || Path.GetFileName(path).Equals("Standalone") || Path.GetFileName(path).Equals("StandaloneOSX"))
        {
            return;
        }
#elif UNITY_IOS
        if (Path.GetFileName(path).Equals("Android") || Path.GetFileName(path).Equals("Standalone") || Path.GetFileName(path).Equals("StandaloneOSX"))
        {
            return;
        }
#elif UNITY_STANDALONE_WIN
        if (Path.GetFileName(path).Equals("Android") || Path.GetFileName(path).Equals("IOS") || Path.GetFileName(path).Equals("StandaloneOSX"))
        {
            return;
        }
#elif UNITY_STANDALONE_OSX
        if (Path.GetFileName(path).Equals("Android") || Path.GetFileName(path).Equals("IOS") || Path.GetFileName(path).Equals("Standalone"))
        {
            return;
        }
#elif UNITY_WEBGL
        if (Path.GetFileName(path).Equals("Android") || Path.GetFileName(path).Equals("IOS") || Path.GetFileName(path).Equals("Standalone") || Path.GetFileName(path).Equals("StandaloneOSX"))
        {
            return;
        }
#endif

        ECLResInfor ri = new ECLResInfor();
        path            = path.Replace("\\", "/");
        ri.path         = path;
        ri.name         = Path.GetFileName(path);
        ri.isDir        = true;
        ri.selected     = true;
        ri.tabs         = tabs;
        ri.relativePath = ri.path.Replace(Application.dataPath + "/", "");
        ri.publishPath  = Utl.filterPath(ri.relativePath);
        ri.ver          = "";
        datas.Add(ri);

        string[] fileEntries = Directory.GetFiles(path);         //因为Application.dataPath得到的是型如 "工程名称/Assets"
        int      count       = fileEntries.Length;
        string   fileName    = "";
        string   extension   = "";
        for (int i = 0; i < count; i++)
        {
            fileName  = fileEntries [i];
            extension = Path.GetExtension(fileName);
            if (ECLEditorUtl.isIgnoreFile(fileName))
            {
                continue;
            }
            totalFiles++;
            ri              = new ECLResInfor();
            fileName        = fileName.Replace("\\", "/");
            ri.path         = fileName;
            ri.name         = Path.GetFileName(fileName);
            ri.isDir        = false;
            ri.selected     = true;
            ri.tabs         = tabs + 1;
            ri.relativePath = ri.path.Replace(Application.dataPath + "/", "");
            ri.publishPath  = Utl.filterPath(ri.relativePath);
            ri.ver          = Utl.MD5Encrypt(File.ReadAllBytes(fileName));     //MapEx.getString (resLastUpgradeVer, ri.publishPath);
            datas.Add(ri);
            selectedDatas.Add(ri);
        }

        string[] dirEntries = Directory.GetDirectories(path);
        count = dirEntries.Length;
        string dir = "";
        for (int i = 0; i < count; i++)
        {
            initData(dirEntries [i], tabs + 1);
        }
    }