public void parseXml() { string path = ExportUtil.getDataPath("Res/Config/Tool/ExportAssetBundleName.xml"); AssetBundleNameXmlParse parse = new AssetBundleNameXmlParse(); parse.parseXml(path, this); }
protected void exportSkinsFile_OneSubMeshOneFile() { foreach (Mesh mesh in m_meshList) { foreach (SubMesh subMesh in mesh.m_subMeshList) { string xmlStr = "<?xml version='1.0' encoding='utf-8' ?>\n<Root>\n"; xmlStr += string.Format(" <Mesh name=\"{0}\" >\n", ExportUtil.getFileNameNoExt(mesh.skelMeshParam.m_name)); subMesh.exportSubMeshBoneFile(mesh.skelMeshParam, ref xmlStr); xmlStr += " </Mesh>\n"; xmlStr += "</Root>"; string xmlName = string.Format("{0}.xml", ExportUtil.getFileNameNoExt(subMesh.m_part)); //string xmlPath = string.Format("{0}/{1}/{2}", m_outPath, m_modelTypes.modelTypeDic[mesh.skelMeshParam.m_modelType].subPath, xmlName); string xmlPath = string.Format("{0}/{1}", m_outPath, xmlName); xmlPath = ExportUtil.getDataPath(xmlPath); ExportUtil.deleteFile(xmlPath); FileStream fileStream = new FileStream(xmlPath, FileMode.CreateNew); byte[] data = new UTF8Encoding().GetBytes(xmlStr); //开始写入 fileStream.Write(data, 0, data.Length); //清空缓冲区、关闭流 fileStream.Flush(); fileStream.Close(); fileStream.Dispose(); } } }
protected void packOneLevelPack() { string resPath = ""; List <string> nameList = new List <string>(); List <string> pathList = new List <string>(); List <string> filesList = ExportUtil.GetAll(ExportUtil.getDataPath(m_packParam.m_inPath)); string ext = ""; string nameNoExt = ""; string tmpStr = ""; StreamedSceneAssetBundleParam bundleParam = new StreamedSceneAssetBundleParam(); foreach (string filePath in filesList) { ext = ExportUtil.getFileExt(filePath); nameNoExt = ExportUtil.getFileNameNoExt(filePath); if (ExportUtil.isArrContainElem(ext, m_packParam.m_extArr)) { resPath = ExportUtil.convFullPath2AssetsPath(filePath); nameList.Add(resPath); bundleParam.m_levels = nameList.ToArray(); pathList.Clear(); pathList.Add(m_packParam.m_outPath); tmpStr = string.Format("{0}{1}", nameNoExt, ExportUtil.DOTUNITY3D); pathList.Add(tmpStr); bundleParam.m_locationPath = ExportUtil.getStreamingDataPath(ExportUtil.combine(pathList.ToArray())); ExportUtil.BuildStreamedSceneAssetBundle(bundleParam); } } }
public void parseSkinsXml() { SkinMeshCfgParse skelMeshCfgParse = new SkinMeshCfgParse(); skelMeshCfgParse.parseXml(ExportUtil.getDataPath("Res/Config/Tool/ExportSkinsCfg.xml"), this); createSubDir(); // 创建出来所有的子目录,不用在执行中判断 }
public AssetBundleNameDirData(string path, AssetBundleNameXmlPath xmlPath) { m_dirPath = path; m_xmlPath = xmlPath; m_fullDirPath = ExportUtil.getDataPath(m_dirPath); m_fullDirPath = UtilPath.normalPath(m_fullDirPath); m_filesList = new List <AssetBundleNameFileData>(); }
protected void packOneBundlePack() { string resPath = ""; List <string> assetNamesList = new List <string>(); List <Object> objList = new List <Object>(); UnityEngine.Object go; List <string> pathList = new List <string>(); List <string> filesList = ExportUtil.GetAll(ExportUtil.getDataPath(m_packParam.m_inPath)); string ext = ""; string nameNoExt = ""; #if UNITY_4_6 string tmpStr = ""; #endif AssetBundleParam bundleParam = new AssetBundleParam(); foreach (string filePath in filesList) { objList.Clear(); assetNamesList.Clear(); ext = ExportUtil.getFileExt(filePath); nameNoExt = ExportUtil.getFileNameNoExt(filePath); if (ExportUtil.isArrContainElem(ext, m_packParam.m_extArr)) { resPath = ExportUtil.convFullPath2AssetsPath(filePath); assetNamesList.Add(resPath); go = AssetDatabase.LoadAssetAtPath(resPath, ExportUtil.convResStr2Type(ExportUtil.convExt2ResStr(ext))); if (go) { objList.Add(go); #if UNITY_5 bundleParam.m_buildList = new AssetBundleBuild[1]; bundleParam.m_buildList[0].assetBundleName = nameNoExt; bundleParam.m_buildList[0].assetBundleVariant = ExportUtil.UNITY3D; bundleParam.m_buildList[0].assetNames = assetNamesList.ToArray(); pathList.Clear(); pathList.Add(m_packParam.m_outPath); bundleParam.m_pathName = ExportUtil.getStreamingDataPath(ExportUtil.combine(pathList.ToArray())); #elif UNITY_4_6 || UNITY_4_5 bundleParam.m_assets = objList.ToArray(); pathList.Clear(); pathList.Add(m_packParam.m_outPath); tmpStr = string.Format("{0}{1}", nameNoExt, ExportUtil.DOTUNITY3D); pathList.Add(tmpStr); bundleParam.m_pathName = ExportUtil.getStreamingDataPath(ExportUtil.combine(pathList.ToArray())); #endif ExportUtil.BuildAssetBundle(bundleParam); } else { LoggerTool.error(string.Format("AssetDatabase.LoadAssetAtPath 不能加载资源 {0}", filePath)); } } } }
public static void restoreResources() { string restorePath = ExportUtil.getDataPath(""); string bakPath = ExportUtil.getPkgWorkPath(""); UtilPath.createDirectory(restorePath); UtilPath.recurseCopyDirectory(bakPath, restorePath); UtilPath.deleteDirectory(bakPath); }
public static void restoreResources() { string restorePath = ExportUtil.getDataPath("Prefabs"); string bakPath = ExportUtil.getPkgWorkPath("Prefabs"); ExportUtil.CreateDirectory(restorePath); ExportUtil.copyDirectory(bakPath, restorePath); ExportUtil.DeleteDirectory(bakPath); }
public void createDir(string parentPath) { string path = ""; //path = ExportUtil.getDataPath(string.Format("{0}/{1}", parentPath, m_subPath)); path = ExportUtil.getDataPath(m_subPath); if (!ExportUtil.bDirExist(path)) { ExportUtil.RecurCreateDirectory(path); } }
public void createDir(string parentPath) { string path = ""; //path = ExportUtil.getDataPath(string.Format("{0}/{1}", parentPath, m_subPath)); path = ExportUtil.getDataPath(m_subPath); if (!UtilPath.existDirectory(path)) { UtilPath.recurseCreateDirectory(path); } }
public void exportBoneList() { XmlDocument xmlDocSave = new XmlDocument(); xmlDocSave.CreateXmlDeclaration("1.0", "utf-8", null); XmlElement root = xmlDocSave.CreateElement("Root"); foreach (Mesh mesh in m_meshList) { mesh.exportMeshBone(xmlDocSave, root); } string xmlName = string.Format("{0}/{1}", m_outPath, "BoneList.xml"); xmlName = ExportUtil.getDataPath(xmlName); xmlDocSave.Save(@xmlName); }
public void save2Files(string parentPath) { string path = ""; //path = ExportUtil.getDataPath(string.Format("{0}/{1}/{2}.xml", parentPath, m_subPath, m_outFileName)); path = ExportUtil.getDataPath(string.Format("{0}/{1}.xml", parentPath, m_outFileName)); ExportUtil.deleteFile(path); FileStream fileStream = new FileStream(path, FileMode.CreateNew); byte[] data = new UTF8Encoding().GetBytes(m_content); //开始写入 fileStream.Write(data, 0, data.Length); //清空缓冲区、关闭流 fileStream.Flush(); fileStream.Close(); fileStream.Dispose(); m_content = ""; }
// 解析 Xml public void parseXml() { clear(); string path = ExportUtil.getDataPath("Res/Config/Tool/ExportSkelAnimatorController.xml"); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); XmlNode rootNode = xmlDoc.SelectSingleNode("Root"); XmlNodeList controllerNodeList = rootNode.SelectNodes("Controller"); XmlElement controllerElem; XmlAnimatorController controller; foreach (XmlNode controllerNode in controllerNodeList) { controllerElem = (XmlElement)controllerNode; controller = new XmlAnimatorController(); //m_curXmlAnimatorController = controller; m_controllerList.Add(controller); controller.parseXml(controllerElem); } XmlNodeList pathNodeList = rootNode.SelectNodes("Path"); XmlElement pathElem = null; XmlPath xmlPath = null; foreach (XmlNode pathNode in pathNodeList) { pathElem = (XmlElement)pathNode; xmlPath = new XmlPath(); m_xmlPathList.Add(xmlPath); xmlPath.parseXml(pathElem); } }
public void parseXml() { ResCfgParse resCfgParse = new ResCfgParse(); resCfgParse.parseXml(ExportUtil.getDataPath("Res/Config/Tool/ResPackCfg.xml"), m_packList); }
public void parseResourceXml() { ResourceCfgParse resourceCfgParse = new ResourceCfgParse(); resourceCfgParse.parseXml(ExportUtil.getDataPath("Res/Config/Tool/ResPackResourceCfg.xml"), m_pResourcesCfgPackData.m_resourceList); }
protected void addMesh() { string fullPath = ExportUtil.getDataPath(m_inPath); UtilPath.traverseFilesInOneDir(fullPath, onFindOneFile); }
static public void exportTypt() { string _path; byte[] bytes = null; Dictionary <string, bool> namespaceDic = new Dictionary <string, bool>(); string namespaceStr = ""; // 打开写入的文件 _path = ExportUtil.getDataPath("Editor/BindLua.cs"); FileStream fileStream; if (File.Exists(@_path)) { File.Delete(@_path); } fileStream = new FileStream(_path, FileMode.Create); // 遍历类型 string bindTypeInfo = ""; foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies()) { foreach (Type _type in assembly.GetTypes()) { if (bNeedExportNS(_type.Namespace)) { // 如果是模板类型,名字是 "DynamicBuffer`1",但是 Type.MemberType == MemberTypes.TypeInfo // 如果是内部类,那么 Type.MemberType == MemberTypes.NestedType // 如果是协程(Coroutine),例如 protected IEnumerator initAssetByCoroutine(),Type.MemberType == MemberTypes.NestedType // 去掉模板类、内部类、协程、接口、抽象类 // 抽象类导致 ToLuaExport.cs 导出的 bind 文件编译不过 // 函数中有模板类, 导致 ToLuaExport.cs 宕机。 static public void newRectSplit(Transform trans, float unitWidth, float areaRadius, float fYDelta, int splitCnt, ref List<Vector3> posList) if (!_type.Name.Contains("`1") && _type.MemberType == MemberTypes.TypeInfo && !_type.IsInterface && !_type.IsAbstract) { if (!bNeedExportClassName(_type.Name)) { continue; } if (!namespaceDic.ContainsKey(_type.Namespace)) { namespaceDic[_type.Namespace] = true; namespaceStr += string.Format("using {0};\r\n", _type.Namespace); } bindTypeInfo += string.Format(" _GT(typeof({0})),\r\n", _type.Name); } } } } // 写入名字空间 bytes = Encoding.UTF8.GetBytes(namespaceStr); fileStream.Write(bytes, 0, bytes.Length); // 首先写入文件前半部分 _path = ExportUtil.getDataPath("Editor/ExportLuaBind/BindLuaCsOne.txt"); bytes = File.ReadAllBytes(_path); fileStream.Write(bytes, 0, bytes.Length); // 写入文件类型 bytes = Encoding.UTF8.GetBytes(bindTypeInfo); fileStream.Write(bytes, 0, bytes.Length); // 写入文件后半部分 _path = ExportUtil.getDataPath("Editor/ExportLuaBind/BindLuaCsTwo.txt"); bytes = File.ReadAllBytes(_path); fileStream.Write(bytes, 0, bytes.Length); fileStream.Close(); fileStream.Dispose(); fileStream = null; }