From c9a5215d6d1376260df22571482dc77bfe7aeb2d Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Fri, 28 Nov 2008 20:37:21 +0000 Subject: * Fixes Location == Location, and Location != Location --- OpenSim/Framework/Location.cs | 10 ++++++++++ OpenSim/Framework/Tests/LocationTest.cs | 16 ++++++++++++++++ OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 4 ++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/Location.cs b/OpenSim/Framework/Location.cs index aed2b87..d0f01d0 100644 --- a/OpenSim/Framework/Location.cs +++ b/OpenSim/Framework/Location.cs @@ -86,6 +86,16 @@ namespace OpenSim.Framework return X == x && y == Y; } + public static bool operator ==(Location o, object o2) + { + return o.Equals(o2); + } + + public static bool operator !=(Location o, object o2) + { + return !o.Equals(o2); + } + public override int GetHashCode() { return X.GetHashCode() * 29 + Y.GetHashCode(); diff --git a/OpenSim/Framework/Tests/LocationTest.cs b/OpenSim/Framework/Tests/LocationTest.cs index 1c10a39..118ec94 100644 --- a/OpenSim/Framework/Tests/LocationTest.cs +++ b/OpenSim/Framework/Tests/LocationTest.cs @@ -45,6 +45,22 @@ namespace OpenSim.Framework.Tests Location TestLocation1 = new Location(1099511628032000); Location TestLocation2 = new Location(1099511628032000); Assert.That(TestLocation1 == TestLocation2); + + TestLocation1 = new Location(1099511628032001); + TestLocation2 = new Location(1099511628032000); + Assert.That(TestLocation1 != TestLocation2); + } + + [Test] + public void locationXYRegionHandle() + { + Location TestLocation1 = new Location(256000,256000); + Location TestLocation2 = new Location(1099511628032000); + Assert.That(TestLocation1 == TestLocation2); + + TestLocation1 = new Location(256001, 256001); + TestLocation2 = new Location(1099511628032000); + Assert.That(TestLocation1 != TestLocation2); } } diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 8653b23..09b9ac9 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs @@ -106,8 +106,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP public bool HandlesRegion(Location x) { - return x.RegionHandle == m_location.RegionHandle; - //return x == m_location; + //return x.RegionHandle == m_location.RegionHandle; + return x == m_location; } public void AddScene(Scene x) -- cgit v1.1