/// <summary> /// 違うところを集める(debug用) /// </summary> public static List <ModelDiff> Diff(this Model lhs, Model rhs) { var context = ModelDiffContext.Create(); context.Enter(nameof(lhs.AssetGenerator)).Push(lhs.AssetGenerator, rhs.AssetGenerator, StringEquals); context.Enter(nameof(lhs.AssetVersion)).Push(lhs.AssetVersion, rhs.AssetVersion, StringEquals); context.Enter(nameof(lhs.AssetMinVersion)).Push(lhs.AssetMinVersion, rhs.AssetMinVersion, StringEquals); context.Enter(nameof(lhs.AssetCopyright)).Push(lhs.AssetCopyright, rhs.AssetCopyright, StringEquals); // Materialの参照で比較する ListDiff(context.Enter("Materials"), lhs.Materials, rhs.Materials, MaterialEquals); ListDiff(context.Enter("Meshes"), lhs.MeshGroups, rhs.MeshGroups, MeshGroupEquals); ListDiff(context.Enter("Nodes"), lhs.Nodes, rhs.Nodes, NodeEquals); ListDiff(context.Enter("Skins"), lhs.Skins, rhs.Skins, SkinEquals); Vrm(context.Enter("Vrm"), lhs, rhs); return(context.List); }