aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs2
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs23
2 files changed, 22 insertions, 3 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index e90e7fd..54ef039 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -1075,7 +1075,7 @@ namespace OpenSim.Region.Framework.Scenes
1075 1075
1076 SendTerseUpdateToAllClients(); 1076 SendTerseUpdateToAllClients();
1077 } 1077 }
1078 1078
1079 public void StopFlying() 1079 public void StopFlying()
1080 { 1080 {
1081 ControllingClient.StopFlying(this); 1081 ControllingClient.StopFlying(this);
diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
index 57847f7..545819f 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
@@ -112,7 +112,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
112 scene.Update(); 112 scene.Update();
113 Assert.That(npc.AbsolutePosition, Is.EqualTo(startPos)); 113 Assert.That(npc.AbsolutePosition, Is.EqualTo(startPos));
114 114
115 Vector3 targetPos = new Vector3(128, 128, 40); 115 Vector3 targetPos = startPos + new Vector3(0, 0, 10);
116 npcModule.MoveToTarget(npc.UUID, scene, targetPos); 116 npcModule.MoveToTarget(npc.UUID, scene, targetPos);
117 117
118 Assert.That(npc.AbsolutePosition, Is.EqualTo(startPos)); 118 Assert.That(npc.AbsolutePosition, Is.EqualTo(startPos));
@@ -129,7 +129,26 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
129 scene.Update(); 129 scene.Update();
130 130
131 double distanceToTarget = Util.GetDistanceTo(npc.AbsolutePosition, targetPos); 131 double distanceToTarget = Util.GetDistanceTo(npc.AbsolutePosition, targetPos);
132 Assert.That(distanceToTarget, Is.LessThan(1), "NPC not within 1 unit of target position"); 132 Assert.That(distanceToTarget, Is.LessThan(1), "NPC not within 1 unit of target position on first move");
133
134 // Try a second movement
135 startPos = npc.AbsolutePosition;
136 targetPos = startPos + new Vector3(10, 0, 0);
137 npcModule.MoveToTarget(npc.UUID, scene, targetPos);
138
139 scene.Update();
140
141 // We should really check the exact figure.
142 Assert.That(npc.AbsolutePosition.X, Is.GreaterThan(startPos.X));
143 Assert.That(npc.AbsolutePosition.X, Is.LessThan(targetPos.X));
144 Assert.That(npc.AbsolutePosition.Y, Is.EqualTo(startPos.Y));
145 Assert.That(npc.AbsolutePosition.Z, Is.EqualTo(startPos.Z));
146
147 for (int i = 0; i < 10; i++)
148 scene.Update();
149
150 distanceToTarget = Util.GetDistanceTo(npc.AbsolutePosition, targetPos);
151 Assert.That(distanceToTarget, Is.LessThan(1), "NPC not within 1 unit of target position on second move");
133 } 152 }
134 } 153 }
135} \ No newline at end of file 154} \ No newline at end of file