# zserialize **Repository Path**: Wnity/zserialize ## Basic Information - **Project Name**: zserialize - **Description**: 把Unity的MonoBehaviour和ScriptableObject转换成字典Dictionary来使用,增强热更 - **Primary Language**: C# - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-05-06 - **Last Updated**: 2024-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zSerialize UnitySerialize可以把自定义的MonoBehaviour和ScriptableObject转换成通用字典组件,目的有: 1.变成字典的通用组件后,增加c#代码的可热更范围,增强assetbundle的热更 2.用lua的元表功能进行封装后,可以另使用MonoBehaviour、ScriptableObject的代码和使用字典的代码一样,不需要在lua中用Find等方法查找GameObject,提高代码可维护性 # 支持的类型 1.所有基本类型 2.Unity.Object 3.带有[System.Serializable]特性的class和struct 4.数组 5.List 6.支持嵌套 # 修改的资源 prefab和ScriptableObject的asset资源 # 环境 工程使用Unity2021.3.x+,如要用其他版本请自行测试 # 用法 1.基本用法:给需要序列化的类加上zserialize.Serializable特性,类似项目里的TestMonoBehaviiour和TestScriptableObject 2.调用SerializeScriptTool.SerializeScript() 3.可对class和struct自定义序列化过程,具体看测试代码 # 集成到自己的项目 - 把下面的package添加到项目的Packages/manifest.json ``` "com.wnity.zserialize": "https://gitee.com/Wnity/zserialize.git?path=Assets/zserialize", ``` # 测试 1.序列化 菜单->zserialize->SerializeAllScript 2.自定义序列化 菜单->Test_zserialize->CustomSerializeScript 3.打印测试 菜单->Test_zserialize->Print 4.回滚被修改的prefab和asset 菜单->zserialize->ResotreAll 5.删除backup目录 菜单->zserialize->DeleteBackupDir # 代码路径 1.测试代码 Assets/Editor/TestTool.cs 2.库源码 Assets/zserialize # 技术交流Q群 951129597