Fix prefab diff in Editor on mesh reference
This commit is contained in:
22
Source/Engine/Level/MeshReference.cs
Normal file
22
Source/Engine/Level/MeshReference.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
// Copyright (c) Wojciech Figat. All rights reserved.
|
||||
|
||||
|
||||
using FlaxEngine.Json;
|
||||
|
||||
namespace FlaxEngine
|
||||
{
|
||||
partial class ModelInstanceActor
|
||||
{
|
||||
partial struct MeshReference : ICustomValueEquals
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public bool ValueEquals(object other)
|
||||
{
|
||||
var o = (MeshReference)other;
|
||||
return JsonSerializer.ValueEquals(Actor, o.Actor) &&
|
||||
LODIndex == o.LODIndex &&
|
||||
MeshIndex == o.MeshIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,11 @@ namespace FlaxEngine.Json
|
||||
}
|
||||
}
|
||||
|
||||
internal interface ICustomValueEquals
|
||||
{
|
||||
bool ValueEquals(object other);
|
||||
}
|
||||
|
||||
partial class JsonSerializer
|
||||
{
|
||||
internal class SerializerCache
|
||||
@@ -311,6 +316,8 @@ namespace FlaxEngine.Json
|
||||
return !bEnumerator.MoveNext();
|
||||
}
|
||||
|
||||
if (objA is ICustomValueEquals customValueEquals && objA.GetType() == objB.GetType())
|
||||
return customValueEquals.ValueEquals(objB);
|
||||
return objA.Equals(objB);
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user