aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/World
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-10-17 01:56:25 +0100
committerJustin Clark-Casey (justincc)2011-10-17 01:56:25 +0100
commitde161585c0960a93911f446f0179441ba5470245 (patch)
treedc32dcc61dabd6f45bc7220bf6f3d89b74268532 /OpenSim/Region/OptionalModules/World
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC-de161585c0960a93911f446f0179441ba5470245.zip
opensim-SC-de161585c0960a93911f446f0179441ba5470245.tar.gz
opensim-SC-de161585c0960a93911f446f0179441ba5470245.tar.bz2
opensim-SC-de161585c0960a93911f446f0179441ba5470245.tar.xz
Implement osNpcStand(<npc-id>)
Allows you to stand an NPC that has sat.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs17
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs8
2 files changed, 23 insertions, 2 deletions
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
index be73639..e94ed85 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
@@ -217,6 +217,23 @@ namespace OpenSim.Region.OptionalModules.World.NPC
217 return false; 217 return false;
218 } 218 }
219 219
220 public bool Stand(UUID agentID, Scene scene)
221 {
222 lock (m_avatars)
223 {
224 if (m_avatars.ContainsKey(agentID))
225 {
226 ScenePresence sp;
227 scene.TryGetScenePresence(agentID, out sp);
228 sp.StandUp();
229
230 return true;
231 }
232 }
233
234 return false;
235 }
236
220 public bool DeleteNPC(UUID agentID, Scene scene) 237 public bool DeleteNPC(UUID agentID, Scene scene)
221 { 238 {
222 lock (m_avatars) 239 lock (m_avatars)
diff --git a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
index c5be0b6..be1ecd0 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
@@ -231,7 +231,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
231 } 231 }
232 232
233 [Test] 233 [Test]
234 public void TestSit() 234 public void TestSitAndStand()
235 { 235 {
236 TestHelpers.InMethod(); 236 TestHelpers.InMethod();
237// log4net.Config.XmlConfigurator.Configure(); 237// log4net.Config.XmlConfigurator.Configure();
@@ -249,9 +249,13 @@ namespace OpenSim.Region.OptionalModules.World.NPC.Tests
249 part.SitTargetPosition = new Vector3(0, 0, 1); 249 part.SitTargetPosition = new Vector3(0, 0, 1);
250 npcModule.Sit(npc.UUID, part.UUID, scene); 250 npcModule.Sit(npc.UUID, part.UUID, scene);
251 251
252 // Assertions?
253 Assert.That(part.SitTargetAvatar, Is.EqualTo(npcId)); 252 Assert.That(part.SitTargetAvatar, Is.EqualTo(npcId));
254 Assert.That(npc.ParentID, Is.EqualTo(part.LocalId)); 253 Assert.That(npc.ParentID, Is.EqualTo(part.LocalId));
254
255 npcModule.Stand(npc.UUID, scene);
256
257 Assert.That(part.SitTargetAvatar, Is.EqualTo(UUID.Zero));
258 Assert.That(npc.ParentID, Is.EqualTo(0));
255 } 259 }
256 } 260 }
257} \ No newline at end of file 261} \ No newline at end of file