计算机科学基础数据结构与算法基础 数据结构, 计算机科学基础, 顺序存储结构 2023-10-04 Source Edit History 04线性表顺序存储结构表示实现 表示存储结构 地址计算 实现 Read More
计算机科学基础数据结构与算法基础 数据结构, 线性表的链式表示, 计算机科学基础 2023-10-04 Source Edit History 05线性表的链式表示与实现 定义 举例 术语 单链表、双链表、循环链表 Read More
计算机科学基础数据结构与算法基础 数据结构单链表, 计算机科学基础 2023-10-04 Source Edit History 06线性表之单链表 定义 举例 单链表操作初始化 判断空链表 Read More
计算机科学基础数据结构与算法基础 数据结构, 计算机科学基础 2023-10-03 Source Edit History 01基本概念和术语 数据结构的两个层次 物理结构(存储结构) 逻辑结构划分方法一 划分方法二 抽象数据类型 Read More
计算机科学基础数据结构与算法基础 算法, 算法时间复杂度, 计算机科学基础 2023-10-03 Source Edit History 02算法与算法分析 算法分析 算法时间复杂度 Read More
网络热更新实践:AB上传下载 AB包, Unity, 热更新, 网络开发 2023-10-03 Source Edit History 01md5码 知识点一MD5码是什么MD5 (Message-Digest Algorithm)是MD5信息摘要算法的简称,它是一种广泛使用的密码散列函数,可以生成出一个128位(16个字节)的散列值,用于确保信息的完整—致性。当我们将数据经过MD5算法计算过后,不管我们传入的数据有多大都会生成一个固定长度(128位共16个字节)的信息摘要值,相同的数据,每次经过MD5算法计算后的结果都会是—样的。如果数据变化,MD5码将会发生变化。因此,我们可以利用MD5码作为文件的唯一标识通过它来判断文件内容是否变化 知识点三C#中获取文件的MD5码关键类: MD5 ——MD5类 Read More
网络热更新实践:AB上传下载 AB包, Unity, 热更新, 网络开发 2023-10-03 Source Edit History 02生成AB包对比文件 利用文件名、文件大小、文件md5码生成对比文件,用来记录文件信息,之后再下载文件时就可以根据这些数据判断是否需要更新文件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152using System.IO;using System.Text;using UnityEditor;using UnityEngine;using System.Security.Cryptography;public class CreateABCompare{ [MenuItem("AB包工具/生成对比文件")] public static void GenerateCompareInfoFileTest() { GenerateCompareInfoFile("Assets/ArtRes/AB/PC", "Assets/ArtRes/AB/PC/ABCompareInfo.txt"); } public static void GenerateCompareInfoFile(string directoryPath, string savepath) { DirectoryInfo directionInfo = Directory.CreateDirectory(directoryPath); FileInfo[] fileInfos = directionInfo.GetFiles(); GenerateCompareInfoFile(fileInfos, savepath); } public static void GenerateCompareInfoFile(FileInfo[] fileInfos,string savepath) { StringBuilder stringBuilder = new StringBuilder(); foreach (FileInfo item in fileInfos) { if (item.Extension != "") continue; stringBuilder.Append($"{item.Name} {item.Length} {GetMD5(item.FullName)}"); //分隔符 stringBuilder.Append("|\r\n"); } string compareInfo = stringBuilder.ToString().Substring(0, stringBuilder.Length - 3); File.WriteAllText(savepath, compareInfo); AssetDatabase.Refresh(); } public static string GetMD5(string filepath) { MD5 mD5 = new MD5CryptoServiceProvider(); StringBuilder mD5_string = new StringBuilder(); using (FileStream fs = File.OpenRead(filepath)) { byte[] mD5_bytes = mD5.ComputeHash(fs); fs.Close(); //转换为16进制 foreach (byte item in mD5_bytes) { mD5_string.Append(item.ToString("X2")); } } return mD5_string.ToString(); }}
网络热更新Lua热补丁 2023-09-29 Source Edit History L01热补丁 打热补丁之前的四个必要操作 加特性 别忘记加上xlua的命名空间 为需要打热补丁的类加上[HotFix]特性 Read More