PIbd-22. Stroev V.M. Lab Work 08 #10
51
Monorail/Monorail/Generics/DrawningMonorailEqutables.cs
Normal file
51
Monorail/Monorail/Generics/DrawningMonorailEqutables.cs
Normal file
@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Monorail.DrawningObjects;
|
||||
using Monorail.Entities;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace Monorail.Generics
|
||||
{
|
||||
internal class DrawningMonorailEqutables : IEqualityComparer<DrawningMonorail?>
|
||||
{
|
||||
public bool Equals(DrawningMonorail? x, DrawningMonorail? y)
|
||||
{
|
||||
if(x==null || x.EntityMonorail == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(x));
|
||||
}
|
||||
if (y == null || y.EntityMonorail == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(y));
|
||||
}
|
||||
if (x.GetType().Name != y.GetType().Name)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (x.EntityMonorail.Speed != y.EntityMonorail.Speed)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (x.EntityMonorail.Weight != y.EntityMonorail.Weight)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (x.EntityMonorail.BodyColor != y.EntityMonorail.BodyColor)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (x is DrawningSecondMonorail && y is DrawningSecondMonorail)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public int GetHashCode([DisallowNull] DrawningMonorail obj)
|
||||
{
|
||||
return obj.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user