示例#1
0
    public bool IsProcessFinish()
    {
        bool isFinish = false;
        Dictionary <string, List <string> > newContent = currentSectionInstance.GetProcessFinishNewContent(index);

        if (newContent == null)
        {
            List <string> content = currentSectionInstance.GetProcessFinishContent(index);
            if (content != null)
            {
                ResourceUsageCheck.WriteOnly(GetMyType(), content);
            }
        }
        else
        {
            foreach (var item in newContent)
            {
                ResourceUsageCheck.WriteOnly(myType + "/" + currentSectionInstance.WriteName() + "/" + item.Key, item.Value);
            }
            ResourceUsageCheck.StopTagTime(GetMyType());
        }
        currentSectionInstance.ReleaseMe();
        ResetCount();
        section++;
        isFinish = !CreateNextSectionInstance(currentSectionInstance.GetNextMsg());
        return(isFinish);
    }
示例#2
0
    public bool OnFinish()
    {
        // finish 了 写文件.
        //WirteUsageFile
        List <string> content = new List <string>();

        for (int i = 0; i < use.Count; i++)
        {
            for (int j = 0; j < use[i].funnNameList.Count; j++)
            {
                content.Add(use[i].funnNameList[j]);
            }
        }
        ResourceUsageCheck.WriteOnly(myType + "/audio/在使用的音效", content, WriteType.EXCEL);

        content = new List <string>();
        for (int i = 0; i < noUse.Count; i++)
        {
            for (int j = 0; j < noUse[i].funnNameList.Count; j++)
            {
                content.Add(noUse[i].funnNameList[j]);
                content.Add(noUse[i].funnNameList[j].Replace("android", "iOS"));
            }
        }
        ResourceUsageCheck.WriteOnly(myType + "/audio/不在使用", content, WriteType.EXCEL);
        return(true);
    }
示例#3
0
    public UICodeProcess(string type, List <string> configList)
        : base(type)
    {
        //先查找 mono的类
        string[]      m_cs_files    = Directory.GetFiles(Application.dataPath + "/Scripts", "*.cs", SearchOption.AllDirectories);
        List <string> csFilterFiles = new List <string>();

        csFilterFiles.AddRange(m_cs_files);
        List <string> baseList   = configList.Where(o => !o.StartsWith("ignore")).ToList();
        List <string> ignoreList = configList.Where(o => o.StartsWith("ignore")).ToList();

        for (int i = 0; i < ignoreList.Count; i++)
        {
            ignoreList[i] = ignoreList[i].Split(':')[1];
        }
        for (int i = 0; i < csFilterFiles.Count;)
        {
            if (ignoreList.Contains(ResourceUsageCheck.GetFileName(csFilterFiles[i])))
            {
                csFilterFiles.Remove(csFilterFiles[i]);
            }
            else
            {
                i++;
            }
        }
        //string regexStr = "";
        //for (int i = 0; i < baseList.Count; i++)
        //{
        //    regexStr += ": *" + baseList[i] + "[ \r\n]*{|";
        //}
        //regexStr = regexStr.Substring(0, regexStr.Length - 1);

        //Regex fileRegex = new Regex(regexStr);//继承该类的
        //for (int i = 0; i < csFilterFiles.Count; i++)
        //{
        //    string allText = File.ReadAllText(csFilterFiles[i]);
        //    if (fileRegex.IsMatch(allText))
        //    {
        //        string a = "";
        //    }
        //}


        max    = 0;
        Do     = DoSomeThing;
        Name   = GetCurrentProcessName;
        Finish = OnFinish;
    }
示例#4
0
    public void DoSomeThing()
    {
        ////都存在的列表
        //List<FileBean> equList = branchFiles.FindAll(x => trunkFiles.Find(y => x.simple.Equals(y.simple)) != null);

        //第一次刷新
        RefreshList();
        //这里面就做了所有的事情
        addList.Clear();
        deleteList.Clear();
        branchFiles.FindAll(x => B2T(x, trunkFiles));
        checkList.Add(" add");
        checkList.AddRange(addList);
        checkList.Add(" delete");
        checkList.AddRange(deleteList);
        ResourceUsageCheck.WriteOnly(GetMyType(), checkList);


        ////要确认的(这里面有挪到库存的.需要找许亮确认  删除)
        //List<FileBean> bNotFound = trunkFiles.FindAll(x => branchFiles.Find(y => x.simple.Equals(y.simple)) == null);

        string a = "";
    }
示例#5
0
    public bool OnFinish()
    {
        // finish 了 写文件.
        m_fileDic = m_fileDic.OrderBy(p => p.usageList.Count).ToList();
        List <string> content = new List <string>();

        content.Add("词汇:,,查找路径:mobile_dancer_resource\\Resources\\美术资源\\UI\\图标\\background");
        content.Add("[not used:]没有在使用");
        content.Add("[u:]正在使用");
        content.Add("[u xml:]配置正在使用");
        content.Add("[u cs:]客户端代码正在使用");
        content.Add("[u cpp:]服务器代码正在使用");
        content.Add("");
        bool lastIsNotUse = false;
        bool firstEnter   = true;

        foreach (var item in m_fileDic)
        {
            if (item.usageList.Count == 0)
            {
                if (!lastIsNotUse || firstEnter)
                {
                    content.Add("not used:");
                    lastIsNotUse = true;
                    firstEnter   = false;
                }
                content.Add("," + item.fileInfo.FullName);
            }
            else
            {
                if (lastIsNotUse || firstEnter)
                {
                    content.Add("u:");
                    lastIsNotUse = false;
                    firstEnter   = false;
                }
                content.Add("," + item.fileInfo.FullName);
                foreach (string useFile in item.usageList)
                {
                    string exter = ResourceUsageCheck.GetFileExtension(useFile);
                    //content.Add("[u xml:]配置正在使用");
                    //content.Add("[u cs:]客户端代码正在使用");
                    //content.Add("[u cpp:]服务器代码正在使用");
                    string pre = "";
                    if (exter.Equals(".xml"))
                    {
                        pre = "u xml:";
                    }
                    else if (exter.Equals(".cs"))
                    {
                        pre = "u cs:";
                    }
                    else if (exter.Equals(".cpp"))
                    {
                        pre = "u cpp:";
                    }
                    content.Add(",      " + pre + useFile);
                }
            }
        }
        Write(content);
        return(true);
    }
示例#6
0
 public void Write(List <string> content, WriteType type = WriteType.TEXT, string childFile = "")
 {
     ResourceUsageCheck.WriteOnly(GetMyType() + childFile, content, type);
 }
示例#7
0
        public string GetPrefabSimplePath()
        {
            string[] prefabdirs = Regex.Split(prefabPath, "/|\\\\");
            string   simplePath = prefabdirs[prefabdirs.Length - 3] + "/" + prefabdirs[prefabdirs.Length - 2] + "/" + ResourceUsageCheck.GetFileNameWithoutExtension(prefabdirs[prefabdirs.Length - 1]);

            return(simplePath.ToLower());
        }
示例#8
0
    public void DoSomeThing()
    {
        switch (index)
        {
        case 0:    //查找prefab
        {
            //string[] m_prefab_files = new string[] { "F:/p4_workspace/DGM/x5_mobile/mobile_dancer/trunk/client/Assets/resources/Art/UIPrefabs/General/SwitchScene.prefab", "F:/p4_workspace/DGM/x5_mobile/mobile_dancer/trunk/client/Assets/resources/Art/UIPrefabs/NewUI/PayNewYear/UIPayNewYearBubble.prefab" };
            //string[] m_prefab_files = new string[] { "F:/p4_workspace/DGM/x5_mobile/mobile_dancer/trunk/client/Assets/resources/Art/UIPrefabs/NewUI/Arena/UIArenaEnter.prefab"};
            string[] m_prefab_files = Directory.GetFiles(Application.dataPath + "/resources/Art/UIPrefabs", "*.prefab", SearchOption.AllDirectories);
            for (int i = 0; i < m_prefab_files.Length; i++)
            {
                bool ignore = false;
                for (int j = 0; j < m_filterPrefab.Count; j++)
                {
                    if (m_prefab_files[i].Contains(m_filterPrefab[j]))
                    {
                        ignore = true;
                        break;
                    }
                }
                if (!ignore)
                {
                    prefabConvertList.Add(m_prefab_files[i].Replace('\\', '/'));
                }
            }
        }
        break;

        case 1:    //UIRegister find
        {
            string registPath    = Application.dataPath + "/Scripts/Framework/Global/UIRegister.cs";
            string hotRegistPath = Application.dataPath + "/Scripts/LSharpToCS/UIHotRegister.cs";
            string registContent = File.ReadAllText(registPath);
            registContent += File.ReadAllText(hotRegistPath);
            registContent  = registContent.ToLower();
            foreach (var item in prefabConvertList)        //查找被regist的界面.
            {
                UIPrefabInfo upi = new UIPrefabInfo();
                upi.InitPrefabPath(item);
                upi.prefabName = System.IO.Path.GetFileNameWithoutExtension(item);
                string simplePath = upi.GetPrefabSimplePath();
                if (registContent.Contains(simplePath + "\""))
                {
                    upi.prefabType = "registerUI";
                    prefabInfoList.Add(upi);
                }
                else
                {
                    unUseInfodic.Add(upi);
                }
            }
        }
        break;

        case 2:    //查找Register里面的UIPrefab的 Pool
        {
            List <UIPrefabInfo> removeInUnUseList = new List <UIPrefabInfo>();
            //查找regist的界面中, 动态加载的界面.
            foreach (UIPrefabInfo item in prefabInfoList)
            {
                FindChildPrefab(item, unUseInfodic, removeInUnUseList);
            }
            for (int i = 0; i < removeInUnUseList.Count; i++)
            {
                if (unUseInfodic.Contains(removeInUnUseList[i]))
                {
                    unUseInfodic.Remove(removeInUnUseList[i]);
                }
            }
        }
        break;

        case 3:    //查找其他cs文件引用.
        {
            //Waring
            string[]      m_prefab_files = Directory.GetFiles(Application.dataPath + "/Scripts", "*.cs", SearchOption.AllDirectories);
            List <string> cSharpList     = new List <string>();
            for (int i = 0; i < m_prefab_files.Length; i++)
            {
                if (m_prefab_files[i].EndsWith("UIRegister.cs") || m_prefab_files[i].EndsWith("UIHotRegister.cs"))
                {
                }
                else
                {
                    cSharpList.Add(m_prefab_files[i].Replace('\\', '/'));
                }
            }
            foreach (var item in cSharpList)        //查找被c#引用的界面.
            {
                string allText = File.ReadAllText(item);
                if (!string.IsNullOrEmpty(allText))
                {
                    for (int i = 0; i < unUseInfodic.Count; i++)
                    {
                        if (allText.Contains(unUseInfodic[i].prefabName + "\""))
                        {
                            unUseInfodic[i].cShapUse.Add(item);
                            cSharpUse.Add(unUseInfodic[i]);
                        }
                    }
                }
            }
            for (int i = 0; i < cSharpUse.Count; i++)
            {
                if (unUseInfodic.Contains(cSharpUse[i]))
                {
                    unUseInfodic.Remove(cSharpUse[i]);
                }
            }
        }
        break;

        case 4:    //查找c#里面的UIPrefab的 Pool
        {
            List <UIPrefabInfo> removeInUnUseList = new List <UIPrefabInfo>();
            //查找regist的界面中, 动态加载的界面.
            foreach (UIPrefabInfo item in cSharpUse)
            {
                FindChildPrefab(item, unUseInfodic, removeInUnUseList);
            }
            for (int i = 0; i < removeInUnUseList.Count; i++)
            {
                if (unUseInfodic.Contains(removeInUnUseList[i]))
                {
                    unUseInfodic.Remove(removeInUnUseList[i]);
                }
            }
        }
        break;

        default:    //写文件
        {
            List <string> content = new List <string>();
            content.Add("not used:");
            foreach (var item in unUseInfodic)
            {
                content.Add(item.prefabSimplePath);
            }
            content.Add("");

            content.Add("c# waring:");
            foreach (var item in cSharpUse)
            {
                content.Add(item.prefabPath);
                for (int i = 0; i < item.cShapUse.Count; i++)
                {
                    content.Add("     " + item.cShapUse[i]);
                }
            }
            content.Add("");

            content.Add("被UIRegister注册的UI:");
            foreach (UIPrefabInfo item in prefabInfoList)
            {
                content.Add(item.prefabPath);
                if (item.prefabPoolList.Count > 0)
                {
                    content.Add("prefabPool加载出来的界面");
                    AddPrefabChildContent(content, item, 1);
                }
                content.Add("");
            }
            ResourceUsageCheck.WriteOnly(GetMyType(), content);
        }
        break;
        }
    }