Skip to content

Definition

罐子 edited this page Apr 27, 2022 · 2 revisions

差异类型

差异类型

  • 红色禁止图标:对比项存在差异
  • 橙色警告图标:对比项缺失
  • 绿色正确图标:对比项内容完全一致

对比规则

列表对比规则

  • 同级之间根据对象名称进行对比
  • 如果找到名字对应的,作为一个对比组,进行属性对比
  • 如果找不到名字对应的,则当前对比组为Miss类型(缺失左边或者右边)

对比前

Mine对象:          Their对象:
- Root              - Root
    - A                 - A
    - B                 - C
    - E                 - D       
    - F                 - E
                        - G

对比后:

Mine对象:          Their对象:
- Root              - Root
    - A                 - A
    - B                   
                        - C       
                        - D       
    - E                 - E
    - F                 
                        - G

Component对比规则

  • 相同Component类型的作为一个对比组
  • 将对比组的Component转换成SerializedObject
  • 获取其所有SerializedProperty
  • 然后一一对SerializedProperty的值进行判断是否相等

SerializedProperty对比规则

  • SerializedPropertyType.Generic:忽略
  • SerializedPropertyType.ObjectReference:
    • 判断是否都存在引用
    • 判断引用对象的GUID是否一样
    • 判断引用对象类型是否一致
    • 判断引用对象在Prefab中的路径是否一致(处理结构属性一致的两个Prefab,但GUID不一致的情况)
  • 其他:使用SerializedProperty.DataEquals进行判断

SerializedProperty忽略规则

  • CompareSetting界面可以设置需要忽略的属性字段
  • 忽略采用正则匹配,匹配中的将不进行对比。
  • 具体可参考CompareSetting界面
Clone this wiki locally