WuhuIslandTesting/Library/PackageCache/com.unity.services.core@1.6.0/Runtime/Scheduler/ScheduledInvocationComparer.cs
2025-01-07 02:06:59 +01:00

35 lines
892 B
C#

using System.Collections.Generic;
namespace Unity.Services.Core.Scheduler.Internal
{
class ScheduledInvocationComparer : IComparer<ScheduledInvocation>
{
public int Compare(ScheduledInvocation x, ScheduledInvocation y)
{
if (ReferenceEquals(x, y))
{
return 0;
}
if (ReferenceEquals(null, y))
{
return 1;
}
if (ReferenceEquals(null, x))
{
return -1;
}
var compareResult = x.InvocationTime.CompareTo(y.InvocationTime);
// Actions with same invocation time will execute in id order (schedule order).
if (compareResult == 0)
{
compareResult = x.ActionId.CompareTo(y.ActionId);
}
return compareResult;
}
}
}