/// <summary> /// 拷贝筛选的AB包以及服务器配置表 /// </summary> /// <param name="changList"></param> /// <param name="hotCount"></param> public static void CopyHotAssetAndCreateXml(List <string> changList, string hotCount) { if (!Directory.Exists(m_ABHotFixPath)) { Directory.CreateDirectory(m_ABHotFixPath); } DeleteAllFiles(m_ABHotFixPath); foreach (string str in changList) { if (!str.EndsWith(".manifest")) { File.Copy(m_BuildABPath + "/" + str, m_ABHotFixPath + "/" + str); } } //生成这个热更资源包的XML DirectoryInfo di = new DirectoryInfo(m_ABHotFixPath); FileInfo[] fis = di.GetFiles("*", SearchOption.AllDirectories); Patchs patcs = new Patchs(); patcs.Version = 2; //自己更改 patcs.Des = "测试打包"; patcs.Files = new List <Patch>(); for (int i = 0; i < fis.Length; i++) { if (changList.Contains(fis[i].Name)) { Patch patch = new Patch(); patch.Name = fis[i].Name; patch.MD5 = MD5Manager.Instance.BuildFileMd5(fis[i].FullName); patch.Platform = EditorUserBuildSettings.activeBuildTarget.ToString(); patch.URL = "http://127.0.0.1:80/AssetBundle/" + PlayerSettings.bundleVersion + "/" + hotCount + "/" + fis[i].Name; patch.Size = fis[i].Length / 1024.0f; patcs.Files.Add(patch); } } //序列化成XML string xmlPath = m_ABHotFixPath + "/HotPatchs.xml"; using (FileStream stream = new FileStream(xmlPath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) { using (StreamWriter sw = new StreamWriter(stream, System.Text.Encoding.UTF8)) { XmlSerializer x = new XmlSerializer(patcs.GetType()); x.Serialize(sw, patcs); } } }
public void GenerateInit() { Patchs patchs = new Patchs(); patchs.OuterPatch = new GameObject("OuterPatch", typeof(MeshFilter), typeof(MeshRenderer)); patchs.InnerPatch = new GameObject("InnerPatch", typeof(MeshFilter), typeof(MeshRenderer)); MeshManager.Instance.PatchList.Add(patchs); patchVerticesIntervalValue = 3.0f; //patchWeight = UIManager.Instance.curveBar.value * 20f * MeshManager.Instance.pivotTransform.lossyScale.z; _patchVertexPosition = Vector3.zero; _patchVertices = new List <Vector3>(); _insidePatchVertices = new List <Vector3> [5]; _patchIndex = MeshManager.Instance.PatchList.Count - 1; //MeshManager.Instance.PatchList[_patchIndex].name = "Patch"; for (int i = 0; i < 5; i++) { _insidePatchVertices[i] = new List <Vector3>(); } }