コード例 #1
0
    void refreshContent()
    {
        editKey = "";
        languageList.Clear();
        dictOrgs.Clear();
        dict.Clear();
        string dir = Application.dataPath + "/" + CLPathCfg.self.localizationPath;

        dir = dir.Replace("/upgradeRes/", "/upgradeRes4Dev/");
        string[] files = Directory.GetFiles(dir);
        byte[]   buff  = null;
        Dictionary <string, string> tempDic = null;

        for (int i = 0; i < files.Length; i++)
        {
            if (ECLEditorUtl.isIgnoreFile(files [i]))
            {
                continue;
            }
            buff = File.ReadAllBytes(files [i]);
            languageList.Add(Path.GetFileNameWithoutExtension(files [i]));
            ByteReader reader = new ByteReader(buff);
            tempDic = reader.ReadDictionary();
            foreach (KeyValuePair <string, string> cell in tempDic)
            {
                if (dictOrgs.ContainsKey(cell.Key.ToString()))
                {
                    ArrayList list = dictOrgs [cell.Key.ToString()];
                    if (list == null)
                    {
                        list = new ArrayList();
                    }
                    list.Add(cell.Value);
                    dictOrgs [cell.Key.ToString()] = list;
                }
                else
                {
                    ArrayList list = new ArrayList();
                    list.Add(cell.Value);
                    dictOrgs [cell.Key.ToString()] = list;
                }
            }
        }
        dict = dictOrgs;
    }
コード例 #2
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);
        }
    }
コード例 #3
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);
        }
    }