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); }
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); }
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; }
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 = ""; }
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); }
public void Write(List <string> content, WriteType type = WriteType.TEXT, string childFile = "") { ResourceUsageCheck.WriteOnly(GetMyType() + childFile, content, type); }
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()); }
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; } }